EECS Main > Academics > Undergraduate Programs

CE Curriculum

This page presents an overview of the CompE curriculum. Refer to the Undergraduate Study Manual for full curriculum details.

Informational poster on the CompE Program

QUICK LINKS

Degrees Offered: Overview
   Electrical Engineering
   Computer Engineering greenarrow
   Computer Science
   CIS : Major | Minor

Undergraduate Study Manual

Full Course List

Current Course Schedule

Our Research Groups & Labs

Student Groups

The Computer Engineering program teaches the design of complex digital systems, from transistors to software systems. It deals with digital circuit and system design, computer architecture, robotics, microprocessors, software systems, and embedded systems. The interrelationships between and appropriate roles of hardware and software are emphasized. Our Computer Engineering curriculum involves courses in digital logic, electronic circuits, computer architecture, robotics, VLSI design, VLSI CAD, software development, operating systems, microprocessor-based systems, and parallel computing.

Students who are interested in pursuing a curriculum in computing that emphasizes understanding of computer hardware and the hardware/software interface should sign up for a B.S., M.S. or Ph.D. degree in Computer Engineering in the EECS Department.

Computer engineers have broad professional employment opportunities including design and management responsibilities, working with microchips and computers, application-specific hardware-software systems, computer-aided design (CAD) tools for digital systems, aerospace systems, defense systems, and networked systems.

Our Computer Engineering curriculum has strong lab-based learning emphasis and culminates in three design-projects-based courses. Interested undergraduates can get involved earlier in significant project or research work. Our teaching laboratories have recently been upgraded with the latest computer workstations, computer-controlled instruments and new experiments in newly renovated labs.

The Computer Engineering curriculum allows students to focus on a particular area of specialization. The areas include

greenarrow High-Performance Computing
greenarrow VLSI and Computer Aided Design
greenarrow Embedded Systems
greenarrow Software

The mission of our undergraduate program in Computer Engineering

The Computer Engineering (CE) program involves the design and engineering of computers including hardware and software design. It is a carefully chosen synthesis of computer engineering, computer science, and electrical engineering courses to train students how do design complex digital systems, from transistors to software. Computer engineering is a broad area involving many possible areas of specialization. These include Computer Architecture, VLSI Systems, Computer-Aided Design, Software Design, Robotics, Computer Vision, and Embedded Systems.

Computer Engineering Undergraduate Mission Statement


To educate undergraduates in the basic
principles and modern practices of the field of computer engineering
and train our students to think independently, to master the
systematic approach to problem solving,
and to have a keen awareness of the role of engineering
in a modern technological society.


Based on the mission statement, the Computer Engineering Undergraduate Curriculum Committee, involving both the faculty and undergraduate students, formalized a series of Educational Objectives which all students should satisfy:

greenarrow Students should have a firm foundation in the basic mathematics underlying computer system design, including calculus, linear algebra, probability and discrete mathematics.

greenarrow Students should be able to design and conduct experiments as well as analyze and interpret data.

greenarrow Students should have an understanding of the functioning of digital devices within a computer. Students should be exposed to the software that drives computers. Students should have an understanding of computers as a whole, i.e., of computer subsystems and the integration of these systems in a functioning computer. Students should have an understanding of how computers can be applied to solve problems in a unified hardware/software view. Students should have a sufficient foundation in electronic circuits and physical electronics to understand the basics of how the underlying computer hardware works.

greenarrow They should have the interpersonal and other skills and general engineering knowledge necessary to function in a multi-disciplinary team.

greenarrow Students should be able to identify, formulate, and solve computer engineering problems.

greenarrow Students should have an understanding of professional and ethical responsibility.

greenarrow Students should have facility in both written and verbal communication on both technical and non-technical levels.

greenarrow Students should have the broad general education necessary to understand the impact of engineering solutions in a global social context.

greenarrow Students should have recognition of the need for and an ability to engage in life-long learning.

greenarrow Students should have knowledge of contemporary issues.

greenarrow Students should be able to use fundamental tools of Computer Engineering including computer simulation, design and analysis of software, and laboratory tools.

Background on Computer Engineering Curriculum

Our curriculum is continuously revised based on feedback from our constituents, e.g., our advisory board, industrial affiliates, and students. The common themes in the Computer Engineering curriculum follow:

greenarrow A moderate number of required courses to allow flexibility in plans of study.

greenarrow Freshman/Sophomore level courses that provide broad overviews of the fields of electrical engineering and computer engineering.

greenarrow Exciting hands-on labs and computer labs to complement lectures.

greenarrow A curriculum and courses relevant to current applications of computer engineering.

greenarrow Requiring team-based design projects and encouraging undergraduate research.

Premed Compatibility
The Computer Engineering curriculum is compatible with a premedical program of study. If you are interested in this option, please discuss it with your academic adviser.

We offer two courses that are suitable for freshmen and sophomores and are required of both EE and Computer Engineering majors. These courses provide one-quarter overviews of the fields of electrical engineering and computer engineering along with exciting labs involving the design of a robot and a CD player.

greenarrow EECS 202: Introduction to Electrical Engineering
greenarrow EECS 203: Introduction to Computer Engineering

Five courses have been identified as essential to Computer Engineers and are required.

greenarrow EECS 205: Fundamentals of Computer Systems Software
greenarrow EECS 303: Advanced Digital Logic Design
greenarrow EECS 361: Computer Architecture
greenarrow EECS 343: Operating Systems
greenarrow EECS 311: Data Structures

Computer Engineers are also required to take two of the following relevant courses:

greenarrow EECS 221: Fundamentals of Circuits
greenarrow EECS 222: Fundamentals of Signals and Systems
greenarrow EECS 223: Fundamentals of Solid-State Engineering
greenarrow EECS 224: Fundamentals of Electromagnetics and Photonics
greenarrow EECS 225: Fundamentals of Electronics

These five courses provide fundamental knowledge in each field of electrical engineering. Subsequently, students will be able to take some of the Technical Electives from a wide range of choices in each field within the field of EE.
In addition all Computer Engineering students are required to take one of the capstone design classes:

greenarrow EECS 347: Microprocessor Systems Design Projects
greenarrow EECS 362: Computer Architecture Project
greenarrow EECS 392: VLSI Systems Design Projects
greenarrow EECS 399: Projects

Computer Engineering students are encouraged to take two 399 independent research units. They should also consider taking a graduate-level course in an area of interest as a technical elective.

An overview of the computer engineering curricular concept is illustrated in Figure 2.

Figure 1: Overview
Figure 2: An Overview of our CompE Curriculum.

Top

 

Northwestern University Robert R. McCormick School of Engineering
and Applied Science Electrical Engineering and Computer Science Department