Cornell University CS Undergraduate Field Advisor
Dan Jenkins '82
A high school student writes (Nov. 1998):
I have heard from a lot of people that computer engineering looks more professional than computer science.
Well, it depends on who you talk to. Among the general public, I think that it is safe to say that "engineer" implies a professional/technical background. Naturally there are people who perceive a professional distinction between computer engineering majors and computer science majors. This is a somewhat oversimplified way of looking at things in my opinion.
Among computer professionals, the term "computer engineer" often brings to mind a person who deals primarily with hardware technologies and/or the technologies that link computers to each other (systems and networks). Software Engineers, are thought of as people who deal with the applications that run on these computers and related systems. In truth, it isn't this black and white -- but you were asking about perceptions.
The most common perception about computer science majors is that they are students who have studied only programming. The idea that CS majors are software people and CE majors are hardware people is common, but inaccurate.
At Cornell, a computer engineering major is basically anyone who majors in ECE with a strong concentration in CS, or who majors in CS and has a strong concentration in ECE. Double majoring between the two is also possible. It hasn't been necessary to create a third major called computer engineering. The label is less important than the actual subjects studied.
Computer engineering and electrical engineering programs are commonly accredited by outside professional organizations. At Cornell, ECE is accredited by ABET (the Accreditation Board for Engineering and Technology). Up to this point, the Department of Computer Science at Cornell hasn't found it necessary to apply for accreditation. Accreditation is important in fields that require participating professionals to be certified by federal, state or other regulatory agencies. This has yet to become an issue for most CS professionals, especially those with bachelor degrees from high-ranking schools.
After looking into it more fully, I found out that the courses in computer science involve more of what I want to study. CS courses seems to be more about the process of computing than do courses in computer engineering. But on the other hand, my family is persuading me to study computer engineering because they think that I would get a better job with that.
It depends on how you define better job. I don't know of any data that shows that majors in computer engineering are getting more money or more interesting placements than people with other types computing majors. I think your family may be getting too hung up on labels.
Consider this: if someone loved writing and developing low-level software programs and then got a job working as a computing facilities engineer (roughly equivalent of a garage mechanic in the automobile industry) -- they would probably not be thinking that they had a "better job" than someone who was creating more advanced software applications. This can go the other way too. There are a lot of boring programming jobs out there and scores of interesting computing facilities jobs (developers and IT managers, not just mechanics). We encourage our students to avoid dead-end jobs, regardless of whether or not they are primarily interested in software, hardware, or some combination of the two.
It is far more important to focus on the quality of your education and less on what you think people will pay you for a specific major. The real trick is to find something that you love that you can also make a career of. Too many engineers are bored with their work and would rather be doing other things. The irony is, they feel locked into engineering work because they don't think that they are qualified to do other things.
At Cornell, engineers are encouraged to think outside the box. They are required to take courses in the humanities and must show that they can communicate well in written and oral formats. Having a broad understanding of the world really helps to put their work in context and leads to a much stronger overall contribution.
We support your interest in computer engineering and encourage you to explore the field more deeply. If you go to a good school that happens to have a major called computer engineering, you will have no problem finding interesting things to do that also involve software development and computer science. Just make sure that you find a strong academic program that allows you to take the courses that seem most interesting to you.
=========================================
DAN JENKINS (607) 255 0982 or 255 9220
Assistant Director of Undergraduate Programs
Dept. of Computer Science, 303 Upson Hall
CORNELL UNIVERSITY, Ithaca, NY 14853
fax: 607 255 4428
=========================================
Program Web: < http://www.cs.cornell.edu/ugrad/ >
Personal Web: <http://www.cs.cornell.edu/jenkins/ >
NOTE: The views expressed on this page do not necessarily represent the views of the Department of Computer Science or Cornell University. The purpose of providing feedback of this nature is to give students the opportunity to hear first-hand from professionals in the computing community.
Alumni and corporate technical staff are welcome to make submissions to this section of the web site: please email us if you would like us to include your job description.
Last updated May 18, 2004 . For more information email us at ugrad@cs.cornell.edu.