Faculty informations and some of related questions

So, starting with talking about what it means to be a university faculty member. They are mainly the professors in the university, some are focus more on research, and some are focus more on lecturing. And those who focus more on research are usually the professors responsible for graduate students and sometimes, PhD. All the professors have their field of study. And they will teach in that particular subjects and do research with students who are interesting in further research within the topic.
One professor i have talked to is my CSE 8A professor, Gary Gillespie. He’s mainly a lecturer but help students in tutoring position. He has his class which will train the students to be a tutor. This is really helpful before finding a really internship working for some companies. The experience that gained from becoming a tutor is really valuable. And in my opinion, i will try my best to be a tutor once i reach 90 units.
Second professor i talked to is professor Garrison Cottrell. I have taken his CSE 87 this quarter and really learned a lot of interesting things that related to AI, neural network, machine learning and etc. He showed us a project his graduate students has worked on. A robot that will recognize human faces and correspond accordingly. The theory behind facial recognition was  surprisingly interesting. And i was really motivated to work more towards this area. It is interesting to me because the amusing impact i think it will have later on. I believe the world will become a robotic world soon. And everything will be automatic. Although it will raise some concerns, i think this is where our world is heading and it is a good thing. The advancement of human through technologies is a huge step for some better life later on. However, i realized my lack of knowledge in this particular area. Therefore, i decided to really hard and apply for some research position after taking some upper division classes.
And the last professor i am going to talk about is my current CSE 8B professor, Susan Marx. She’s a great lecturer and really helpful outside of classroom. i have been keeping going to her office hours every week and learn a lot of useful things not only in subject of the class but the general area of computer science. I really want to be one of her tutor since all her tutors are so nice and helpful to me. I really want to be like that and i believe it will really be an amusing experiences.
Some of the questions i have are:
How to connect to some professors when you are not able to take their classes?
I want to do some things with the game, but CSE 125 is only for seniors. And i really want to start early. How can i go to the professor and ask for some things to do? Or even just make some general connections.
And last question is, is there research topics related to games? I have a lot of interest but i really want to be a game developer and be able to create a lot of interesting and useful games. If so, where can i find the informations.

Social Implications of Computing

As i was searching through website about “social implication of computing”. I found this quotes from this website really interesting. And it’s “the most profound technologies are those that disappear. They weave themselves into the fabric of everyday until they are indistinguishable from it” (http://www.slideshare.net/guest3bd2a12/the-social-implications-of-computing-presentation)

And here’s the five examples it provides, E-mail, instant messaging, the web, cellular phones and video games. All the technologies are used because they are thought to be beneficial to human lives. However, it makes people’s lives easier one way but on the other hand, it became a gap between one person and another.

The topic discussed on this is virtual vs. ‘real’, the appearance of online courses, email and research engines let people find and learn really fast and easy. They don’t have to go to school or library spending hours to find their paper sources. However, this also eliminate contact among people. Class discussion, coffee with friend and book by an expert all seems unnecessary.

Personally, i really have this concern because i start to spend more and more time on the computer than have parties or go out with friends. In a family dinner, people will always get their phones out and start sending messages or reading books or playing games rather than talk about their lives and what they are going to do. I feel like this is a negative side of high technologies. It helps people but also hurts people. As a computer scientist, i always want to be able to design things to help people make a better life. i believe people can and will be able to still stay contact with one another and not isolate them by putting themselves in front of computer. People are social animals and they need to be in a group to not feel lonely.

Cybercrime, in another word, computer crime, refers to any crime that involves a computer and a network (http://en.wikipedia.org/wiki/Computer_crime) . One example will be attacking other people’s computer by spreading viruses and stealing their personal informations such as credit card account.

Before i got in to field of computer science, i always hated people who made viruses. Every time i got a virus, some of my files or pictures will be damaged and never recovered. Or in some extreme case, i have to reinstall everything in my computer to get rid of the viruses. I am strongly against people who make viruses and use computer as their weapons for their own benefits. Computer is a tool to make this world a better place not a worse place.

My mom always have a concern for me to enter into computer science, and that is i will be isolated from others and have to spend a long time with computers. I used to say that’s what i like to do. I am not very social person but i have my friends and social groups that i go to every once in a while. In this moment, i can’t tell if there’s anything really bad about not able to have a social life like other majors and spend a long time in programming.

And last thing i will talk about is government’s regulation on what is shown on the web. i strongly believe they have no right to control any speech no matter what the subjects are. First Amendment granted people right to speech. Today, the freedom to speech means freedom to express through network and it should not be regulated by the government. Although there are different cases that regulating may be a necessary step, the use of monitoring and suppression are not really the best way to solve these problems. people should have the right to see what they want to see and express what they want to express.

From Senior Post, some comments

YD is 2, so the two post commented are 3 and 8, also additional comment on 2



Interesting. Very interesting. Some tips and tricks on some CSE classes will be really helpful later on. So, the author seems had a tough experience in CSE131. And i think i would enjoy this class. A lot of people around me told me that the compiler class is a hard and challenge class, which is what i love about CSE class. And thanks to the author, i will try to find a nice partner to make sure i won’t experience the same thing.

Then he talk about pay attention in algorithms courses, which the first one is CSE21 that i am going to take next quarter. I really wish that i will get the class from professor Ord. He’s a great professor as many said. But i didn’t get a chance to take any of his classes yet. Unfortunately, due to some restrictions of school, i wasn’t able to change from CSE8B to CSE11. And i guess i will pay really a lot of attention in 21 next quarter to make sure i have the ground for the workers later on.

Software Engineering course is what i would love to take. In the post, he said it will teach how to structure and organize code. And i really think this is an important skill. As i was making games last quarter, the final product was okay, but the code was so messy that reversion of it require so much work. So, i will try to take that class as well as pay attention to how i organize my code to prevent same thing from happening again.

Study abroad, i am already an international student, so i probably won’t consider about that.

And finally, dont waste your time on games. I can’t agree anymore. However, right amount of relax is essential to good  productivity. But excessive gaming will waste a lot of time and get people really tired. So, dont waste time on games.



So, here, author talked more about how to obtain an internship. The first point he made is to try improve resume so that i won’t fill into the black hole of a resume filter. Big companies visit UCSD really often. And therefore, there are lot of chance. Try to get involved so that there are activities that can be put on the resume.

Then he recommends to go to Code Sprint for some great programming problems solving practice. And he makes a really good point, successful CS major means applying what you learn outside of class in some way.

Moved on to interview, he gave the frequent asked question, data structure questions and algorithm question. Just as the other blog said, it’s so important to do good on some of the algorithm courses, which will help a lot not only the courses later on but also internship and jobs.

Finally, he talked about how to prepare for interview. It should occur one week before an actual interview. And the best way to do so as he suggest is to find a partner and solve some programming and interview problems. Also, try to solve the problem on a notebook or whiteboard since there’s no computer that you can use in a inter view. Last thing as he referred back to the interview questions. Really try to make yourself comfortable with data structures and algorithm.

This is a wonderful post, which will definitely help me later on. Thanks to the author, i will really pay attention to all these important classes and try to gain the most of it.


Additional Post on #2: I find this is actually a really interesting blog post since lot of the post i read mainly talk about how to advance in computer science. The most valuable thing here is a senior computer science major student talk more about the negative side of computer science, that programming assignments and other stuff will take a huge amount of time. And lot of people just don’t have time to socialize.

The first point he made is that there will be no time for friends and family but setting in front of a computer. This is actually what i am experiencing right now. A lot of my friends are from lab. And we meet in the lab frequently and that’s where we socialize.

The second point is no game, which could be a pain to lot of people. I was a big gamer but not any more due to lacking of skills and feeling of wasting times.

Then, he talked about if one is not working on something, then there must be something wrong. I agree with this a lot. One of the reason i pick computer science is it’s a busy and hard work, and i really enjoy being busy and not worry about other things such as relationship.

And the last point is do not rely on a partner. I am a person like to work by myself. And i know i can focus if there are people around me. Although having a partner may save a lot of time, it won’t be the case if he’s not that good. Individual programming skills, in particular, is a very important skill to have. And that’s why i agree, DO NOT RELY ON A PARTNER. Go ask yourself and solve the problem by yourself.


Decision making, Q&A and further questions in CS major

From Dan Appleman’s blog(http://danappleman.com/2004/08/17/advice-for-future-computer-science-majors/), he gave some great advices for people majoring in computer science.

The three points he made are:

1. You had better like change.

He made the argument that majoring in and working in computer science field not only do you have to keep learning technology that is changing at a rapid clip, what you previously knew becomes obsolete. And he told us that “It is important to consider some of the consequences of the rapid change that occurs in this industry.”

I think this is really true in today. Things change so fast that what we trying to solve today may soon be some easy problem with one click of a button. But I like this major because I will have to keep learning and learning. Because there are so much more to learn, I am excited and so glad i am majoring in computer science.

2. Being technologically savvy isn’t enough.

Here, he made the point that “Being an extreme programmer is all very nice, but if you want to succeed in this industry it’s not nearly enough.”

And I think it’s really important to realize that computer science is not only about programming skills but also writing skill, communication skills, leadership skills, responsibilities and nice personality. His advice is “Don’t let your technical classes get in the way of getting a good education. Take a writing class. Take a class or get involved in an activity that forces you to do some public speaking. Do some drama or improv. Join a club. Do some volunteer work. Do some tutoring. This kind of experience will have long term benefits to your career that you wouldn’t believe.” I agree with him. A lot of people think computer science is all about programming. I have to admit a good programming skills are important but so many people stopped programming after they get into a higher position. They start to make plans, schedules and keep track of the work.

It’s extremely important to be able to communicate with different people, which is a must-do in a large project or work condition.

3. Take CS for the right reasons

“The best technology professionals are almost without fail the ones who entered this field because they are fascinated with technology.”

I really agree with Appleman’s claim that “The important thing is not to go into CS just because you think it’s going to make you a lot of money.” Personally, i was so into science when i am a junior in high school. i was determined to major in physics. However, one of my math teacher gave me a book that introduces programming in a simple and fun way. I did examples in the book and i find myself really interested in the subject. When i picked computer science major for all my college choices, i didn’t think that it will bring me a lot of money but the joy of understanding programming and able to build programs that will make the world better and enable people to calculate and have fun.

And now away from the advices, i will talk about some surprises that i experience after the first quarter of college in UCSD. i think one thing is that there are a lot of people majoring in computer science and the competition is really challenging, which in another way, it’s actually a good thing.

Also,what surprises me a lot is that computer science later on is not much about programming but how the computer work and the theory behind it. So, that wasn’t what i think i will be facing, but it should be fun and challenging, which i enjoy.

Then, it’s computer science major has so much opportunities that it may seems unfair.

Internship is really important for people who want to work in computer science industry.

i don’t really have a lot of questions about the computer science so far but maybe how the courses should go. What i mean here is how to organize my experience in upper division and also how to find the right professors so that the subjects will still be fun and no backfire will occur. Personally, i agree with one of the speaker in class, who said “take the class with good professors because they will help you so much and keep you interested in the subject”

And i think this problem should be solved if i can keep going to the advisors and ask them questions.

I think computer science is a great major of patience and determination. And this is why i love this subject so much.

Early career opportunities in computing

In this blog, I will be talking about some opportunities that available to undergraduate students, which will definitely give a lot of valuable experience and help in future career.

First thing I will talk about is joining different clubs that involves computer science and will be working on different projects. I feel like this is what a freshmen can really do to help improve his resume as well as experience and understanding how to apply their knowledge into a team work conditions. Personally, I joined VGDC(video game development club) since I am interested in game programming as well as meeting a lot of friends that play the same game and have similar interest. And for sure, I find what i was looking for. Last quarter, we made teams that would work on a game prototype that was shown in the showcase last week. Once there are people helping to finish a project, it gets easy even for a freshmen like me.

This is beneficial to one’s career because this involves a lot of communication skills as well as learning and corporate skills, which are really important in future jobs. And to be honest, it’s really a friendly and easy environment in a club. There aren’t really required skills for joining this kind of organization. So, definitely find something interesting and join.

Second thing  i will talk about is internship, which i think it is the most important things for every CS major student to get sometime before their graduation. Guess what most of the people say now, “CS is one of the easiest major to get a internship”. And i believe this is definitely true. I went to the fall job fair last quarter. And almost every company is hiring computer science students. It’s obvious that someone that has worked in a internship will get a job a lot easier than someone who didn’t. And there are really high probability that  the internship will be transfer to a full time job once student is graduated.

So, I think everyone should try their best to get an internship before their graduation. It doesn’t matter if it’s a start-up company or some big companies like Google and Facebook. To get an internship, I think the best way is to attain job fairs every quarter and be prepared to talk to different companies.

And the last thing i will be talking about is undergraduate research. From the CSE department page, there are a lot of research opportunities in a lot of field in computer science. However, in my opinion, it’s hard for a freshmen or sophomore to get into research due to lack of professional experience and knowledges. But, if one has a good connection with his professor, he can definitely follow the professor and get a research position under his professor.And this shows the importance of getting to know your professors and have a good connection with them. And therefore, I am taking CSE 87, which is a freshmen seminar with one of the research professor to look into research and  getting some basic knowledge of what some of the research will be working on as well as a variety of different research opportunities.

Research is really a key thing that will help a computer science student to decide whether he want to go to industry or stay in academic environment, which most likely to become a professor. This is not easy to pursue. But one should never give up but try as many times as possible if one is really interested in learning more about the subject and understand more in depth.

In conclusion, i think all of these are helpful and really important in determining one’s successful career path. And the only thing i can tell myself is to try hard and do what interests me. Don’t ever give up and all will come together eventually.

How to be successful in computer science classes

A lot of people know that majoring in computer science is not an easy task. It’s not a subject like economics, which you can catch up if you really try hard. Subjects in computer science requires lot of ground work, and that’s why CS students must have a good understanding of the basis in programming to begin learning deep subject matters.

Personally, I did really good last quarter considering a GPA of 4.0 with 5 classes. One thing that really helped is my determination to do good on the first quarter of my college life. I made up my mind that I need to have a good start. And therefore, i study hard on every subject and complete assignment on a daily basis as well as reading extra materials and seeking for helps if needed.

So, the first thing is to focus in class. One of the advisors told me that college classes isn’t as easy as high school. 50 minutes of class will cover lot of things and require students to read ahead so that they know what’s coming. And i followed the instruction, I usually go over my computer science textbook 1 or 2 days before the lecture and type in the programs myself and change it a little bit to see what would happen. And if I found questions, I would google it or go to TA’s office hours.

Here’s my second point, TA and professor’s office hours help a lot. A lot of time, students get lazy and ignore going to office hours, whereas the TA waste their hours setting in their office. And if someone visit them, they will actually be really happy to assist on any questions one may have. So, use the office hour and it will help a lot. Trust me.

Third thing i want to talk about is picking the right studying style. People always tell me that group studying helps, which i find out it will really depends on who you are studying with. Some study groups really get things done. They go over the notes, answer each other’s questions. However, there are also opposite. People tend to get lazy in study groups since they know there are others that will do the jobs of highlighting notes, write out the guidelines. In a study group, it’s easily get distracted. So, if one find himself in a study group and unable to study well, don’t go. Because if it distract you, the purpose of studying group is gone. It’s only a social group now.

And at the end, i want to talk about something i need to improve on. Things get pretty overwhelmed later in the quarter. And i always want myself to write things down in the calendar so that i won’t miss it but never did it. It’s really important to keep on track of every class and remember to turn in homework on time. Also, don’t just treat homework as something you have to finish but really think into it. Homework is to help prepare for the exams. I really need to understand the homework to be able to do good on the exam.

And i think i will end here with one of the quotes from Scott Adams, “If there are no stupid questions, then what kind of questions do stupid people ask? Do they get smart just in time to ask question”. So, remember, ALWAYS ask questions.

Two Distinct Careers in Computing

Before starting to talk about the details in two distinct careers, here’s a general knowledge of what computer science is about and who are computer scientist.

Computer science is a very popular subject today that involves lot of different area throughout our society. It has become an essential point in our daily life.

An computer scientist is typically very highly trained professional who help, support and innovate new technologies.For example, Apple company is one of the leading innovative companies now. Computer scientists make advancement in hardware functions and computing improvements.

So, there are lots of different jobs in computing. And the two I am going to talk about are computer software engineer and database administrator.

First, most of computer software engineers are people who work as employees or contractors. They are usually involved in large projects that relates to different area of study. And software engineers are usually people who design programs that will simplify the task before and allow further research and save time.  Their work products include phone applications, computer applications and etc. People can be promoted and change from a programmer to a project  manager who separate and assign different tasks to people and setting deadline and others to make sure the project will be finished. Most software engineers and programmers work 40 hours a week. According to wikipedia, engineers and programmers are susceptible to eyestrain, back discomfort, and hand and wrist problems such as carpal tunnel syndrome. Here’s Facebook software engineer requirement.


  • B.S. or M.S. Computer Science or related field
  • Knowledge of perl or PHP or python
  • Knowledge of relational databases and SQL, preferably MySQL
  • Knowledge of web technologies: XHTML, JavaScript
  • Experience with C, C++ a plus

Therefore, a B.S. or M.S. degree in computer science is usually required to work in this field.

And now, looking at their payment, software engineers receive  from $48,649 to $69,187 with median expected salary for a typical software engineer in the United States is $59,060(http://www1.salary.com/Software-Engineer-I-Salary.html)

Second, let’s look at how database administrator differ from software engineers. A database administrator (DBA) is someone who are responsible for the installation, configuration, upgrade, administration, monitoring and maintenance of database in an organization.

Database Administrators often have a 4 year degree in Computer Science or Management Information Systems (MIS). Knowledge of business functions is also important, as is the ability to communicate with other employees in the company in both technical and non-technical roles. (http://jobsearchtech.about.com/od/careersintechnology/p/DBA_Profile.htm)

Database administrators may advance into managerial positions. For example, a promotion to chief technology officer might be made on the basis of experience managing data and enforcing security. (http://www.bls.gov/k12/computers01.htm) Database administrators receive salary from $67,207 to $108,328 with a median expected salary of $88,232. (http://www1.salary.com/Database-Administrator-Salary.html)

Looking at the differences in two jobs, database administrators appear to have a higher salary and less challenge working environment but also may seem a little bit boring work. As software engineer has a higher possibility of creating something new and get rich from that, they also enjoy works as they program daily to complete tasks and receive the satisfaction of solving hard problems. Therefore, I will choose to be a software engineer and challenge myself with hard work and new ideas.