Electrical Engineering vs. Computer Engineering
Table of Contents:
- Introduction and Overview
- Definition of Terms
- History and Philosophy
- A Common Core
- So, Just What is Computer Engineering?
- So, Just What is Electrical Engineering?
- What is the Job Situation?
- What do I do if I Want to Change to Computer Engineering?
- Related Links
1: Introduction and Overview
The use of the term vs. in the title of this document is misleading --- there is no competition between the degree programs. They simply represent different emphases in your course of study. The purposes of this document are the following:
- Highlight the common core shared by both degree programs.
- Point out the differences between the degree requirements.
- Help you as a student understand why you might choose one degree over the other.
- Help you as a student understand the career ramifications of this choice. That is, each degree opens different doors to you as a student after you leave the department and at the same time may close others.
- Point out to you as a student when you need to decide which degree program you wish to take.
The last point is perhaps the most important in that you need to understand that if you are uncertain, you can postpone your decision (with minor modifications) until you are well into the program of study within the department. At that (later) time you likely will have enough experience with the curriculum to make an informed decision.
2: Definition of Terms
In this document the following terms will be used:
- The Department of Electrical and Computer Engineering
- The Electrical Engineering degree program
- The Computer Engineering degree program
- EE Courses
- Electrical Engineering courses - all taught within the ECEn department
- CpE Courses
- Computer Engineering courses - all taught within the ECEn department
- CS Courses
- Computer Science courses required of either EE or CpE students which are taught within the Computer Science Department
3: History and Philosophy
The EE degree is the older and more established of the two programs. Since the advent of the computer and the microprocessor the field of digital electronics and computers has grown to become a major component of EE.
BYU has traditionally had a very strong digital electronics program within this department. Major recruiters of our students have been companies who specialize in the design and manufacture of digital components and systems (medical, computing, instrumentation).
For at least two decades the department curriculum has contained a digital or computer option. In 1987 the department's name was changed to the Department of Electrical and Computer Engineering to reflect the growing importance of the digital option.
In 1995 the department applied to the University and was given permission to institute a Computer Engineering degree program. The first students graduated during Sp/Su 1996 from that program.
The philosophy for the new program was to provide the flexibility for students to specialize more in digital systems and computer design than was possible if they were to adhere to the full EE curriculum requirements.
So, what is a computer engineer? In short, in computer engineering we strive to prepare students to work in the area of digital electronics and computing systems design and analysis. That said, an important feature of CpE graduates is their breadth. If you choose to major in CpE you will end up learning something about everything that goes into digital and computing systems from solid state physics to CMOS VLSI design to computer architecture to computer programming to operating systems to compiler theory to language theory. In short, the area between EE and CS is extremely broad - you will be trained to try to cover it all as well as parts of EE and CS. By training you will be well suited for system level tasks, having a good understanding of both the hardware and software components of computing systems.
4: A Common Core
The above discussion of philosophy leads to the first similarity between the two programs:
- Both degree programs follow a common core of physics, mathematics, statistics, chemistry, digital electronics, linear circuits, electronics, ...
The specializations occur mostly (but not completely) in the upper division courses as shown in the following table.
For Illustrative Purposes only.
|Common Core||EE Specific||CpE Specific|
|CS 142, 235||CS 236, 240|
|Math 112, 113
Math 343, 334
Stat 441 or ECEn 493R
|Physics 121, 220||Physics 281|
|Chem 105 or 111|
|ECEn 124, 224|
ECEn 313, 317
|English 312, 316|
|ECEn 360, 361||ECEn 362|
|Complete classes from
at least 3 of the 4 areas
|20 ECEn 4xx credits||6 CS credits
4 ECEn 4xx credits
Comments on the Table
- The requirements outlined in the above table include only required courses.
- Both degrees require the same number of credits. The difference is that within the EE degree program there is more latitude to choose 400-level electives courses - thus there are fewer required courses shown. Currently the CpE degree is more constrained and thus has a few more required courses.
- The use of technical electives means that neither degree track will lock you out of courses from the other degree program (provided you satisfy the prerequisites). Thus, we anticipate EE students who may take a large fraction of their tech elective credits in CpE or CS courses. Conversely, CpE students can use their tech electives credits on EE courses such as control systems, communications, digital signal processing, or solid state devices. How you use your tech electives credits can greatly change the flavor or your program of study.
You generally may not have to decide which path to follow until your 4th semester. At that point you must decide whether or not to take Physics 281, Math 214, or ECEn 360.
So, what are some things you might use to make this decision? Following, in no particular order, are points you might take into account for your decision.
5.1: Remember: The Line is Fuzzy At Best
Any given person familiar with EE, CS, or CpE may take issue with the insights provided here. They may simply feel they are not representative of what that person has encountered in the work force. Remember, the line between EE and CpE is fuzzy at best. For example, the statement that the goal of the CpE degree program is to prepare students to design computing systems does not imply that having an EE degree rather than a CpE degree will preclude you from doing so. On the contrary. You may simply find it easier to fill out your study list with the courses you want to take, based on your career goals, if you choose one degree over the other.
5.2: Your Employability Depends on Your Course Selection - A Lot!
Your choice of courses can have a dramatic impact on your career path. If you have taken no Computer Architecture don't expect to find employment designing the next generation CPUs for Hewlett Packard. Likewise, if you have taken no Control Theory, you won't be attractive to recruiters looking for that skill.
Numerous recruiters have mentioned that the course selection a student shows on a transcript is crucial. The label CpE or EE is insufficient to tell a recruiter what you may be qualified to do.
Plan your path carefully. Talk to potential employers, look at graduate school brochures, talk to the faculty, talk to family friends. In short, use every means available to understand what is entailed in the various sub-disciplines of Electrical Engineering (of which CpE is one). Then, you have a better chance of making a good decision.
5.3: Be Aware of Multiple Meanings
As you investigate the field, be careful using terms you are not very familiar with. For example, assume you have heard of company X and you understand they do the design and manufacture of VLSI integrated circuits and you decide you are interested in that field for whatever reason. When you visit a faculty member to get some counsel on your program of study the first question asked will be: "what do you want to do?" While seemingly a step in the right direction, an answer of "VLSI" is not much more helpful than "something technical having to do with circuits". The reason is that the VLSI itself refers to a broad range of topics including:
- Integrated circuit manufacturing (also called fabrication or processing). This is what we do in room 487 CB in those white bunny suits.
- Sub-micron device (transistor) development, modelling. This draws heavily on physics, particularly solid-state physics.
- VLSI integrated circuit design - circuit level. This is very electronics and circuits intensive design work. Circuit complexities are lower (fewer transistors) because the goal is to develop integrated circuit building blocks with nearly optimal speed/size/power characteristics. These building blocks include logic elements (gates and flip flops) as well as analog components (amplifiers, DACs, ADCs, static and dynamic memory cells).
- VLSI integrated circuit design - logic level. This is not quite as circuits intensive as above, the goal being to design large building blocks (arithmetic units, memory interfaces, control units). Sometimes (often) this is done using canned building blocks (gates and flip flops) developed by circuit level VLSI designers. The emphasis here is more on dealing with the complexities of higher transistor-count chips.
- VLSI integrated circuit design - system level. At this point the emphasis is clearly on managing complexity of chips or systems containing many millions of transistors. This higher level of abstraction precludes much attention to the physical detail in the building blocks employed. "Getting it right" is a big concern due to the complexity of the task involved. Large, complex, and sophisticated computer-aided design (CAD) tools are required to accomplish this work. These kinds of engineers also are the architects of the system being built and so require a very broad training in most areas of EE and CS.
Item 1 above can be the task of physicists, chemists, chemical engineers, or manufacturing engineers, as well as electrical engineers. Item 2 may be done by electrical engineers but also by physicists. Items 3, 4, and 5 are very much within the scope of both EE and CpE with Item 3 more of an EE topic with Item 5 being more of a CpE topic. As you see, there is a definite continuum with few clearly defined boundaries.
5.4: Some Skill Sets Cross Over The Boundary
Using the above VLSI example again, it is clear that if you eventually decide that VLSI (at any of the 5 levels given) is where you want to work, you will benefit greatly by taking courses across the whole range. A common complaint is that the process engineers don't really understand what the widget they are manufacturing does. Conversely, the design engineer will be handicapped without a clear understanding of the basic materials and manufacturing technology involved in producing the design.
Faculty can be a great aid in helping you understand the bounds of your interest area and devising a program of study to help prepare you in that interest area if you choose to do so.
6: So, Just What is Computer Engineering
The focus of the CpE degree program is the engineering of computing systems. One way to describe what this means is to contrast it with traditional CS and EE programs.
6.1: CS and CpE
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 way 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) for computing systems to make them 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 modelling and analysis, ...
That said, remember the first point above - the lines are fuzzy at times and there are certainly exceptions to this statement. Some CS curricula are decidedly CpE-ish and do contain some of the above topics. On the other hand, BYU's current ECEn Department includes 4 faculty with PhDs in Computer Science from other universities.
6.2: EE and CpE
As mentioned above, the motivation for the creation of CpE degree programs around the country has been to provide a mechanism for students to specialize more in computing systems design than possible with conventional EE curricula. For example, a computer engineer ought to know something about the operating systems which will run on the computing system he or she designs. If majoring in EE, for this person to take a course in operating systems without lengthening out their course of study requires that something be dropped from their EE program of study.
The CpE degree program contains approximately one-third traditional EE courses, one-third CpE courses, and one-third CS courses.
Thus, one way to differentiate EE and CpE is to note what CpE students drop from the EE program of study to make room for more CS courses. From the table given earlier, it can be seen the CpE students are not required to take EE 360/361 (electromagnetics) or Math 214 or Physics 281. Instead, they take CS 236/240 (programming languages, data structures, discrete mathematics, algorithm analysis).
CAUTION: The problem with carrying this analysis on to the other required CpE courses shown in the table above is that the EE program provides great flexibility on what students take at the 400-level while the CpE program prescribes closely what will be taken. Since the table only shows required courses you might be misled. The CpE program certainly allows all of the EE courses to be used as electives. And, the additional CpE required courses with ECEn numbers (425, 427, 450, 451) are all part of the restricted electives requirements for EE.
7: So, Just What is Electrical Engineering?
After separating the computer engineering (CpE) portion of the Electrical Engineering from the major discipline, what is left in electrical engineering (EE)? There are actually several remaining areas such as
- Microelectronic circuits and systems
- Electromagnetics, waver propagation, and microwaves
- Automatic control systems
- Digital signal processing
Most of these areas overlap with other areas of EE and several overlap with CpE.
8: What is the Job Situation?
There are two ways to look at what the CpE degree might do for your post-graduation employment opportunities.
First, what doors might it close compared to an EE degree? This depends on the EE courses you don't take. If you were to take ECEn 360 for your technical electives then your program of study would be almost identical to that previously taken by the EE Computer Option students. Thus, you should see no impact on what jobs you are qualified for. In fact, you will be more qualified for some due to the stronger CS background you will have (due mostly to recent changes the CS department has made to their curriculum and how it dovetails with the needs of our students).
On the other hand, if you choose in your CpE program to avoid all of the non-required upper-division EE courses and take all CS electives instead then some doors will close for you. These would be for positions which expect (in addition to your digital hardware background) more training than you have in control systems, communications theory, digital signal processing, electronics, analog IC design, solid state...
Finally, the presence of the added CS in the CpE curriculum means that you simply will not be able to have as broad an EE background as an EE graduate. For example, you will have room in your schedule to take advanced electronics. But, you won't have room for advanced electronics AND electromagnetics AND control systems AND digital signal processing AND solid state AND analog IC design AND ... It turns out the EE major will have room for most if not all of them.
Second, what doors might a CpE degree open for you? Once again it depends on the courses you take. In general, the added CS in the CpE core requirements along with the flexibility to take further CS courses in your electives means you can become more of a software specialist than the EE curriculum would allow. Thus, an array of programming positions may open up to you which EE graduates are not qualified for.
On the other hand, compared to a CS graduate a whole other set of positions may become available to you based on your background. That is, your background in differential equations, probability, and thermodynamics (along with your general engineering training) may prove to be a great advantage to you if you choose to work in the broad area of scientific computing and visualization. Or, your electronics and circuits background will qualify you to work in the area of electronic design automation (CAD). It seems logical that a top programmer who has a background in the applications area is always preferable to a top programmer who has no such background (both are always preferable to a mediocre programmer).
9: What do I do if I Want to Change to Computer Engineering?
CpE is an established program. The department has further information you can obtain. You should visit the College of Engineering and Technology Advisement Center to inquire about how to declare CpE as a pre-major. Then, when you have taken the necessary foundation courses, you may apply (see the Advisement Center for a form) for formal admission into the program.