The Computer Engineering (CE) 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, applicationspecific hardware-software systems, computer-aided design (CAD) tools for digital systems, aerospace systems, defense systems, and networked systems.   The National Association of Colleges and Employers (NACE) Salary Survey 2013 reports that the average starting salary for those graduating with a B.S. in computer engineering was $70,400 in 2012, up from $67,800 in 2011.

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

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

The Computer Engineering 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.

Educational Objectives

The broad objectives we expect graduates to obtain from our program are: 

  • Career Preparation: Graduates will apply their computer engineering skills to a variety of challenges in industry, academia or in the pursuit of other fields.
  • Professionalism and leadership: Graduates will attain careers in which they become leaders in their chosen fields, work in multi-disciplinary teams, make decisions that are socially responsible, and communicate effectively.
  • Intellectual curiosity: Graduates will continuously learn new concepts, identify new directions, and adapt in response to the needs of a rapidly changing world.

Student Outcomes

To prepare our graduates to achieve these objectives, we intend for students of the Computer Engineering program to graduate with the following knowledge and skills:

  • Knowledge of continuous and discrete math
  • Knowledge of core Computer Engineering topics
  • An ability to use modern engineering techniques for analysis and design
  • An ability to apply knowledge of math, science and engineering to the analysis of Computer Engineering problems
  • Knowledge of probability and statistics
  • An ability to design and conduct scientific and engineering experiments, as well as to analyze and interpret data
  • An ability to design systems which include hardware and/or software components
  • An ability to identify, formulate and solve novel Computer Engineering problems
  • An ability to function in multidisciplinary teams
  • An understanding of ethical and professional responsibility
  • An ability to convey technical material through oral presentation and interaction with an audience
  • An ability to convey technical material through formal written papers and reports
  • A broad education and knowledge of contemporary issues
  • A recognition of the need for, and an ability to engage in, life-long learning
  • The ability to get a good job or admission to a top graduate school.

The computer engineering program is accredited by the Engineering Accreditation Commission of ABET, http://www.abet.org. Further details of the computer engineering curriculum, the preferred schedule for computer engineering students, prerequisites, study plan, and information about conformance with ABET guidelines is in the Undergraduate Study Manual.


Getting Started in this Major

For further information about the structure of the CE major, read the overview of our undergraduate programs. You may also find these links useful:

We encourage you to contact us.

Our CE curriculum chair can be emailed at: ce-curriculum-chair@eecs.northwestern.edu