I am very interested in computers and was wondering which major to choose: Computer Science or Computer Engineering. What is the difference between the two programs, anyway?

Answer

This is a very common question. Although there is considerable overlap between the two fields, Computer Science focuses primarily on software systems, while Computer Engineering on hardware systems. Software application development, Internet programming, and database/information management systems are more the province of Computer Science, while Computer Engineers often work in embedded system development and low level hardware design. It is fair to say that the amount of software development performed in the US greatly exceeds that of hardware development, and that nationally far more students study Computer Science than Computer Engineering.

Both majors will teach you basic programming, fundamentals of computer hardware and will give you the skills necessary for creating software and hardware systems to solve problems in the real world. However, CS deals more with the "science" of computers, putting more emphasis on algorithm development/analysis and efficient ways of storing/processing information, while the CE track stresses more the engineering aspects of hardware systems. To put it another way, CE studies ways to build good computer systems while CS tries to figure out what to do with them.

faq weight
5

But wait! Aren't all CS jobs currently being outsourced to India and other countries?

Answer

Empirical evidence suggests that many jobs being outsourced are those which do not require a CS degree in the first place, such as software quality assurance and routine programming tasks. On the contrary, there are many types of CS jobs which are unlikely to go overseas, for example those requiring direct interaction with US customers or those related to national security. Still, students should prepare themselves to the changing environment. It is more important than ever to develop problem solving, team management and other relevant skills rather than concentrate just on learning how to program. As long as the US is at the forefront of economic, technical, and scientific activity, new challenges in computing and its applications will be formulated here, so people who can understand such problems and convert them into code will remain in demand.

faq weight
4

So, is Computer Science just coding?

Answer

Not at all. Of course, computer scientists do often write code. However, you might think of CS as taking real life problems, and reducing their complexity to a level that even machines can "understand". Solving larger-scale real problems is both difficult and fun. This requires extensive higher-level system design and problem solving skills. With the proper design, actually coding the program often becomes a relatively straightforward part of the job.

faq weight
3

Why should I study Computer Science at all? I've heard some people who do not have a CS degree and were still able to make big money as programmers.

Answer

People who learn a given computer technology can often find entry-level positions without formal training, but everything related to computers changes very fast. Indeed, many of the technologies you will learn during your stay in school will likely be obsolete within five-to-ten years. However, the principles you learn here will enable you to master the new technologies as they come out. People who have learned specific technologies instead of the fundamental principles will not be able to make that jump.

faq weight
2