Q. Are computer science and computer engineering the same thing? If not, what’s the difference?
They are not the same thing, although there is a ton of overlap when it comes to the courses of study you will take to get a degree in either one.
The short answer to the difference between the two is:
- Computer Science = Programming/Software
- Computer Engineering = Hardware
The computer engineer is more concerned with the hardware end of computers, the actual physical components and how they work together to create a working computer/server, as well as how computer hardware components work together in a system. They need to understand computer science as part of determining what the computer needs to physically do, but their main job isn’t programming (or coding as they say these days).
The computer scientist, on the other hand, writes the software code that integrates with the physical hardware. He or she has at least a passing interest in the electronics of the computer, but can get away with knowing very little about the physical side, as long as s/he knows how to make the programs run. If the server goes down, though, he or she might not be the best person to figure out the problem.
Because computer engineering is more of a physical discipline, those who pursue this career path will study electrical engineering courses as well as computer science courses. Computer science majors may only get a cursory education in the physical side of the computers, instead concentrating on what can be done on the software side.
It is, however, still important for computer scientists to understand some of the physical capabilities and limitations of the machines it programs, just as it is important for the engineer to understand the software side in order to make the two disciplines work hand-in-hand.
Some people love to just code, while others are fascinated by both ends of the computing equation. Which way you fall will determine which major is more interesting to you. (I realize I am oversimplifying each discipline, but it’s good shorthand when comparing and contrasting the two.)