Computer Science vs Computer Engineering
What is computer science?
Computer science (CS) is the systematic study of algorithmic methods for representing and transforming information, including their theory, design, implementation, application, and efficiency. The discipline emerged in the 1950s from the development of computability theory and the invention of the stored-program electronic computer. The roots of computer science extend deeply into mathematics and engineering. Mathematics imparts analysis to the field; engineering imparts design. The main branches of computer science are the following:
Other important topics in computer science include computer graphics, databases, networks and protocols, numerical methods, operating systems, parallel computing, simulation and modeling, and software engineering.
What is computer engineering?
Computer engineering (CEN) is the design and prototyping of computing devices and systems. While sharing much history and many areas of interest with computer science, computer engineering concentrates its effort on the ways in which computing ideas are mapped into working physical systems. Emerging equally from the disciplines of computer science and electrical engineering, computer engineering rests on the intellectual foundations of these disciplines, the basic physical sciences and mathematics. The main branches of computer engineering are the following:
Other important topics in computer engineering include display engineering, image and speech processing, pattern recognition, robotics, sensors and computer perception.
Should I pursue computer science or computer engineering?
Scientists and engineers are both interested in the nature of things, in understanding how ideas and objects in the world fit together. But in general, they seek to understand the nature of reality with different ends in mind: the scientist seeks this understanding as an end in itself, the engineer in order to build things. Thus CS is closer to the underlying theory of computation, with its roots in mathematics, and CEN is closer to the design of physical devices, with roots in physics and chemistry as well. Students with an urge to build things, to measure how things work in the laboratory, those attracted to physics and chemistry as well as mathematics, should seriously consider CEN. Students with an interest in the true nature of symbols, information and their manipulations, the forms and limits of algorithms and data structures, should consider CS. Of the three great divisions in computing, namely theory, software and hardware, to a first approximation theory goes with CS, hardware with CEN, and software with both, but mainly with CS. The more general the software, the closer to CS; the more hardware-specific, the closer to CEN. Thus a student interested in creating his own new general-purpose computer language would best be served by a CS degree program, while one interested in designing a software interface for a new high speed serial device by the CEN degree program. Students undecided between the CS and CEN programs are urged to discuss the matter in depth with academic advisors within the CSE department, the College of Arts and Sciences (which administers the CS programs), and the School of Engineering and Applied Sciences (which administers the CEN program).