Computer science is a growing field, one of the most popular targets for high school students entering college. After all, much of our modern world is built upon computer technology, and the career prospects for CS majors are bright. We’ve discussed potential CS majors before, and how to apply to colleges strategically, but today we’re going to return to this topic to answer a very specific question.
Computer Science and Computer Engineering are often confused by casual observers, and often trip up students, who aren’t sure which they want to major in to pursue their career interests. In this article, we’re going to cover the differences between them, and then talk about some colleges which offer both, so we can see what specific differences are in how the majors play out. Let’s get started!
The Differences Between Computer Science and Computer Engineering
The first thing to note is that CS may be offered as a major through either Arts & Sciences or through Engineering, but CE is only ever offered through Engineering (it’s right there in the name). Note that some schools offer Computer Science and Engineering majors; these combine the fields in some ways, but are generally heavier on the engineering side.
In general, computer engineering focuses on hardware, while computer science focuses on software. Most computer engineering courses do have a significant software component however; the field is generally seen as the meeting point between computer science and electrical engineering.
By contrast, computer science coursework almost never touches upon hardware. There may be some discussion of technical limitations of different systems or how coding needs to adapt to hardware limits, but the practicalities of constructing computer hardware are not the main focus.
Neither field is more inherently valuable, but they do have very different applications. CS degrees allow for a wide number of technology and software applications; basically any career which requires regularly working with code or other digital systems. CE, in contrast, prepares you for careers working with computer hardware. This often includes the development of new technologies, or the implementation of new ideas.
A further important difference is that students who major in CE generally require professional licensing as an engineer in order to begin many careers in the field. The requirements for this vary by state, but always involve taking a certification exam to prove you are fully qualified to work as an engineer. There is no such requirement for CS careers.
This does depend on the work you will be doing in CE, and is only required for work as an engineer. We explain how this certification process works in more detail in our guide to engineering, but in general the amount of public trust needed in engineers is so high that certification is usually mandated by law.
Colleges That Offer Both Computer Science and Computer Engineering
There are a significant number of colleges which offer both of these disciplines, far too many to cover in a single article. Instead, we’ll go through a number of top programs, to look at what the practical differences are between these majors, and how students experience each.
Carnegie Mellon University
CMU’s Electrical and Computer Engineering (ECE) department offers a BS degree, and is accredited to train future engineers. A list of the courses available within ECE can be found here; they offer a breadth of options. The major’s requirements offer more flexibility than many engineering majors, but still require a significant number of prerequisite and core coursework. Admission may be done to the major directly, or to the College of Engineering, after which you decide on a major in the spring.
CMU’s Computer Science College offers a major in CS, along with a number of other related fields. The major has a much heavier research focus than other schools. It has the following course requirements; these are extensive, but are slightly less than is required for a CE degree. Admission is done to the College of Computer Science; students should apply there directly.
Columbia
Columbia’s Computer Engineering department teaches the fundamentals of the field, and is offered through Columbia’s College of Engineering. Required courses can be found here, with a notable number of required prerequisite and core coursework for students. Admissions is all handled by the central admissions department, but students interested in CE should apply to the College of Engineering and to their major specifically, as switching between the schools at Columbia is quite difficult.
The Department of Computer Science is interesting as it is shared between the School of Engineering and the College, thus allowing you to earn either a BS or a BA in CS, depending on which of the undergraduate schools you are enrolled in. Note that the major requirements and components of these are fundamentally the same; the primary difference is which core requirements you will need to fulfill. You may apply to either, but not both.
MIT
MIT’s majors are slightly different, and exist in different configurations. They offer two for engineering; Computer Science and Engineering and Electrical Engineering and Computer Science. Both of these are offered through the College of Engineering, and both fully accredit you for a career as an engineer. They have comparable course loads, though CSE focuses more on the software side, while EECS covers significantly more hardware topics.
MIT also offers Mathematics with Computer Science through the Department of Mathematics. This major focuses far more on theory and higher level math than is touched on in more engineering focused CS majors. This particular major is good for students with a very strong mathematical background who want to explore deeper theoretical work in CS.
UC Berkeley
Berkeley’s Department of Electrical Engineering and Computer Science plays host to both the CS and EECS majors. On top of that, they provide an incredibly informative guide which allows students to compare and contrast the two degrees, to see which better suits their needs. We do want to note that while both of these majors are in the same department, they are housed in different colleges at Berkeley. EECS is in Engineering, while CS is in Berkeley’s new College of Computer Science.
The CS component is the same between the majors; the biggest difference is what else you’ll cover. CS as a major gives you more flexibility with your curriculum, and has more of the requirements of a standard liberal arts degree. EECS in contrast gets further into engineering principles, and allows you to explore the hardware which underlies computer programming.
UT Austin
The Cockrell School of Engineering plays host to the Electrical and Computer Engineering (ECE) department, which awards BSE degrees. The requirements for this program are heavy, with significant core coursework and prerequisite classes. WHile there is still some room for elective courses, there is less maneuverability than some programs. Students interested in this major should apply to it and the School of Engineering directly. It is a very popular major, among the most popular in engineering, and transferring in once you are already at UT Austin is quite difficult.
The Department of Computer Science is located in the College of Natural Sciences, and its program awards BS degrees. It focuses solely on software, with ECE covering all of the hardware components. There are a number of core courses required in the curriculum, but fewer than ECE has. Admissions to this is again by college and major; this is among the most popular majors at UT Austin in general, and students should apply to it directly.
Notable Exceptions
Caltech has a computer science major of course, but they have no specific computer engineering one; you are quite capable of studying CE through their electrical engineering major, or through a double major, but it is not a program of study in and of itself.
Harvard has a computer science major, but their only options for computer engineering come through their electrical engineering major. While this is a good program, it is less focused than a pure CE course.
Harvey Mudd is well known for their engineering programs, but these are somewhat general. They do not offer a specialized CE major, though their CS and Engineering coursework in combination will serve you well.
Final Thoughts
Computer Science and Computer Engineering are inherently linked, and together form the backbone of much of modern technology, from the screen you’re reading this article on to the servers hosting it. It is unsurprising that so many students want to study one or the other of these topics, and we hope that this article has given you insight into the differences in the content and presentation between them, and which will suit your needs better.
One other major similarity between CS and CE is how popular they are, and therefore how competitive all of these programs are for admissions. We see this in admissions rates to programs which admit by major, with computer science frequently topping the list of most competitive overall. If you are concerned about your own admissions chances, or want advice on how to apply to one of these programs, schedule a free consultation with us today. We have a long experience helping students get into their top colleges, and are always happy to hear from you.