Skip to main content

Computer Engineering vs. Computer Science

CS curricula can be said to concentrate more on the computational process at an abstract level as opposed to how the computation is accomplished with metal and silicon (wires and transistors). Thus, Computer Scientists often view a computing system in terms of what it can do rather than how. They often employ sophisticated abstract mathematical or logic-based models of computing systems as ways to understand their capabilities. A significant theoretical branch of CS is concerned with proving properties and limits of computing systems using these abstract models.

Other branches of CS are concerned with the use of computing systems to solve a vast array of problems from managing airline reservations, to computer animation, to producing systems software (languages, compilers, operating systems) to make computing systems usable.

Does this mean CS doesn't include the study of computer architecture and digital logic? Of course not. It does. You just won't find the skills required to construct a working computer system taught in most CS curricula. You will find them taught in CpE and in EE. They include things such as advanced digital systems design and testing, electronic circuits, electromagnetics, VLSI design, CAD tools, systems performance modeling and analysis, etc.

That said, remember the point above - the lines are fuzzy at times and there are certainly exceptions to this statement. Some CS programs are decidedly CpE-ish and some are not. Conversely, some ECEn programs are decidedly CS-ish - BYU's current ECEn Department includes 4 faculty with PhDs in Computer Science from other universities.