Expand mobile version menu

Computer Science

Interviews

Insider Info

What to Expect

Still stuck with the picture of the computer nerd? CS students today take pride in breaking that mold.

Austin Fitzpatrick has always leaned toward computer science. As a kid he wanted to make video games.

"When I was younger I just really enjoyed playing them and I wanted to understand how they worked," says Fitzpatrick. "And I've been messing around with computers since I was a little kid."

Fitzpatrick is a recent graduate of the four-year computer science program at the University of California, Irvine. He's now a game developer for some of NASA's websites, including The Space Place.

Fitzpatrick's interest in video games led him to start playing around with programming languages.

"I wanted to take it another step further and another step further, so when I had an option for a computer science course in high school I took it and I really enjoyed it," says Fitzpatrick.

Jeremiah Tantongco also took programming classes in high school. He's now a fourth-year computer science student.

"Aside from enjoying computers and computer games especially in high school, I found it very satisfying in my high school programming classes to build something in code and have it render results on my computer screen," says Tantongco. "I think [it is] the same feeling anyone gets when they build anything."

Fitzpatrick found that some computer science classes at university involved more work than others. "It really varied class by class," he says. "I really felt that some quarters were not so bad at all and other ones I had to spend a whole lot of time writing code."

Fitzpatrick advises students to figure out which courses on offer involve a lot of programming. Some courses involve more theory, while others involve a lot of projects that require programming -- and writing code often takes longer than you first expect.

"They might look ahead to what the workload is for different classes and try not to take a whole bunch of heavy programming classes all at the same time, because those [involve] the kinds of projects that tend to run late," says Fitzpatrick.

Fitzpatrick says the math classes he had to take were "homework intensive," while the programming classes involved completing projects. Some of those projects can be group projects, which can be unpredictable. You might find yourself in a group that works well together and in which everyone contributes equally. Or you might not be so lucky.

Fitzpatrick says it's hard to say how much homework was involved, on average.

"In terms of hours per week, I'm not sure because the nature of the work is usually big projects," he says. "[The workload] is usually disproportionately skewed to the end of the project, as you realize that the scope is a little bit bigger than you expected."

Computer scientists are always solving problems. Training for this begins in university. If you happen to find the best approach to a problem, you can save yourself a lot of time.

"A lot of times [computer science students] are presented with a puzzle to solve and there's a brute-force way to do it which is going to take 1,500 lines of code, and then there's a simpler way to do it and it just depends on if you see it," says Fitzpatrick.

Regardless of how many hours you spend on your schoolwork, there will be plenty to challenge you. Computer science is a rewarding but intellectually demanding field of study.

"The work is pretty hard, whether or not there's a ton of it," says Fitzpatrick. "When you sit down for one of those projects you have to take it seriously. They're not something you can sit down and do the night before."

Tantongco says computer science students should have lots of perseverance, especially for programming. He uses the analogy of those common baby toys that resemble tables with holes of various shapes.

"A lot of the time, it feels like forcing the triangular block to the square shaped hole," he says. "It just doesn't work and you have to rethink how you are going about the problem. And a lot of the times, you reach your wits' end, and end up searching the Internet for answers. Patience and having a good knowledge of the Google search engine will get you a long way in this field."

How to Prepare

Fitzpatrick has a quick response when asked to name the most important subject to study in preparation for a degree in computer science.

"Math -- it's pretty math-y," says Fitzpatrick. "You can get away writing an individual program with a limited math background, but for the theory classes that you're going to have to get through, [you need math].

"The theory classes are heavily math based, so don't ignore your high school pre-calculus teacher, or whatever," Fitzpatrick adds. "It does come back around.

"And if there's a computer science program at the high school, then obviously you want to get involved [with that]."

"To my knowledge, most schools nowadays usually have some sort of information technology courses for students interested in IT material," says Tantongco. "In my experience, this usually focuses on building websites. While building websites is not necessarily what computer science is generally about (some of it is!), this can be a great introduction to the fundamentals of programming."

This field is not for those who want an easy ride. The math, science, programming and theory classes, coupled with hours of homework, will quickly weed out those who are not truly dedicated to computer science.

Fitzpatrick suggests getting familiar with more than just one programming language. This will help you down the road.

"Group work is also generally advisable," Tantongco adds. "In industry, most programming work is done in teams as the scale of projects gets bigger. Computer science courses generally have group work to emulate real life and prepare students for that."

High school courses that develop your communication skills are also valuable.

"One of my teachers said something and everyone kind of laughed and didn't really take him seriously, but it's totally true," says Fitzpatrick. "He said that you're going to spend probably 75 percent of your time writing prose and 25 percent of your time writing code. He meant that you have to write e-mails and you have to write instructions and you have to write documentation, and there's just so much of it."