While John Q. Public is starting to understand that Computer Scientists are not programmers, many people still conclude incorrectly that "Computer Science" and "Computer Engineering" describe the same field and the terms are interchangeable.

Computer Science is rooted firmly in math, specifically discrete mathematics. It builds systematically from 1+1=2 and the definition of even and arrives at algorithms, memory management, and image recognition. Every component of Computer Science study or development builds on previous concepts which in turn are based on earlier concepts, and eventually you arrive at basic integer proofs. A vast majority of the work in Computer Science exists in a world full of absolutes; everything is binary, digital, logical. All of the theory is implemented, tested and using the best available tool for working with discrete numbers: computers.

Computer Scientists use computers to solve problems.

On the other hand, Computer Engineering (predominantly an offspring of Electrical Engineering) deals with things in the "real" world: circuits, radio waves, and light. Starting with Physics concepts like electromagnetism, Computer Engineers design integrated circuits, networks, communication devices, and computer architectures. Almost every Computer Engineering design has physical ramifications which must be taken into account -- resistance, capacitance, attenuation, yield. Like Mechanical Engineers, Computer Engineers design things on paper, build them, then test to see how the implementations fare compared to the theoretical designs; if the creation is within acceptable bounds it is kept, otherwise the plan is refined and another object is fabricated.

For the small amount of time when Computer Engineers are working in the digital world and not the physical one, most of their effort is spent on small computer systems (e.g. embedded controllers). Where C, Java and Perl may be utilized by Computer Scientists to implement their projects, Computer Engineers are accustomed to working in Assembly for a particular platform. They write small amounts of code for the computer that adjusts the thermostat or the fuel/air blend in an automobile engine.

Computer Engineers solve computer problems.

Many projects in both the academic and corporate world require collaboration between specialists in Computer Engineering and Computer Science -- each working on their own portion of the project just like Mechanical Engineers and Civil Engineers working together to design a skyscraper or bridge.

Computer Engineering is not the same as Computer Science.

Is my inferiority complex showing?

Log in or registerto write something here or to contact authors.