Skip to main content

Computer Engineering

Degree Types: MS, PhD

Northwestern University’s Computer Engineering program is a joint program between the Department of Computer Science (CS) and the Department of Electrical and Computer Engineering (ECE), and offers programs leading to the MS and PhD degrees in Computer Engineering (CE). Computer Engineering covers a diverse set of areas including, but not limited to, integrated circuits/VLSI, computer architecture, computer systems, operating systems, compilers, data mining, high-performance and parallel computing, distributed computing, design automation, embedded systems, reconfigurable systems, mobile and wearable computing, internet of things, cyber-physical systems, real-time systems, and database systems.

The broad interdisciplinary interests of our faculty lead to strong collaborative research with other engineering and science departments, the Feinberg School of Medicine, national laboratories including Argonne National LaboratoryFermi National Accelerator Laboratory, Sandia National Laboratories and Oak Ridge National Laboratory, as well as industry.

When applying to the PhD or MS program, students should specify CE as the specific program which will represent their major field of study.

Additional resources:

Error retrieving degree requirements data from Academic Catalog.

Last Updated: September 6, 2024

Degree Requirements

The following requirements are in addition to, or further elaborate upon, those requirements outlined in The Graduate School Policy Guide.


Course Requirements

  • Total Units Required: 15 units that count for graduate (TGS) credit.
  • The cumulative grade point average over these 15 units must be a B (3.0 GPA) or higher. Courses taken for P/N credit do not count toward calculating the grade-point average (GPA).
  • Complete the zero-credit GEN_ENG 519-0 Responsible Conduct for Research Training during their first year.
  • In each quarter, the study plan should be approved by the student’s adviser prior to registration.
  • Restrictions:
    • COMP_ENG 590-0 ResearchCOMP_SCI 590-0 ResearchELEC_ENG 590-0 Research do not count toward the 15 units requirement.
    • COMP_SCI 301-0 Introduction to Robotics LaboratoryELEC_ENG 302-0 Probabilistic SystemsCOMP_ENG 399-0 ProjectsCOMP_SCI 399-0 ProjectsELEC_ENG 399-0 Projects do not count toward the Computer Engineering PhD degree. They are intended for undergraduate students only.
    • At most 6 units of COMP_ENG 499-0 ProjectsCOMP_SCI 499-0 ProjectsELEC_ENG 499-0 Projects can be counted toward the 15 units requirement.
    • At least 6 of the required 15 units should be from 400-level courses or above.
    • All "Core Courses" below are mandatory and count toward the 15 units requirement.
    • At least 6 of the required 15 units should be from the "Track Courses" category below.
    • All courses that can be taken for a quality grade (i.e., ABC grading, not P/N) must be taken for a quality grade to count toward the CE PhD degree. Courses with grades of Pass (P) taken in the Spring 2020 quarter will count toward the course requirements of the PhD degree in Computer Engineering. COMP_ENG 590-0 Research can be taken as a P/N course.

Core Courses (1 unit)

Course Title
COMP_ENG 361-0
Computer Architecture I

Track Courses (6 units)

  • These courses must fulfill at least three of the six tracks.
  • A track is fulfilled when the student completes at least two of the track’s courses. The Computer Architecture track requires only one additional course to be completed in addition to COMP_ENG 361-0 Computer Architecture I.
  • A course that is listed in two different tracks can fulfill both track requirements, but can be counted only once toward the 6 units.
  • Additional 300- level and above courses can fulfill track requirements with the consent of the student's adviser and the Director of Graduate Studies in Computer Engineering. 
Course Title
Track A. Digital Design & VLSI
COMP_ENG 303-0
Advanced Digital Design
COMP_ENG 355-0
ASIC and FPGA Design
COMP_ENG 357-0
Design Automation in VLSI
COMP_ENG 391-0
CMOS VLSI Circuit Design
COMP_ENG 393-0
Advanced Low Power VLSI and Mixed-signal IC Design
COMP_ENG 459-0
VLSI Algorithmics
COMP_ENG 493-0
Advanced Low Power VLSI and Mixed-signal IC Design
Course Title
Track B. Embedded Systems
COMP_ENG 346-0
Microcontroller System Design
COMP_ENG 347-1
Microprocessor Systems Project I
COMP_ENG 347-2
Microprocessor Systems Project II
COMP_ENG 364-0
CyberPhysical Systems Design and Application
COMP_ENG 365-0
Internet-of-things Sensors, Systems, And Applications
COMP_ENG 366-0
Embedded Systems
COMP_ENG 464-0
Cyber-Physical Systems Design and Application
COMP_ENG 465-0
Internet-of-things Sensors, Systems, And Applications
COMP_ENG 466-0
Embedded Systems
ELEC_ENG 390-0
Introduction to Robotics
Course Title
Track C. Computer Architecture
The Computer Architecture track requires only one course from the list below to be completed.
COMP_ENG 368-0
Programming Massively Parallel Processors with CUDA
COMP_ENG 452-0
Adv Computer Architecture
COMP_ENG 453-0
Parallel Architectures
COMP_ENG 468-0
Programming Massively Parallel Processors with CUDA
Course Title
Track D. Software Systems
COMP_SCI 321-0
Programming Languages
COMP_SCI 322-0
Compiler Construction
COMP_SCI 323-0
Code Analysis and Transformation
COMP_SCI 339-0
Introduction to Database Systems
COMP_SCI 340-0
Introduction to Networking
COMP_SCI 343-0
Operating Systems
COMP_SCI 345-0
Distributed Systems
COMP_SCI 351-1
Introduction to Computer Graphics
COMP_SCI 354-0
Computer System Security
COMP_SCI 446-0
Kernel and Other Low-level Software Development
Course Title
Track E. Parallel and Distributed Systems
COMP_ENG 329-0
The Art of Multicore Concurrent Programming
COMP_ENG 358-0
Introduction to Parallel Computing
COMP_ENG 368-0
Programming Massively Parallel Processors with CUDA
COMP_ENG 395-0
Special Topics in Computer Engineering (Blockchain and Cryptocurrency)
COMP_ENG 453-0
Parallel Architectures
COMP_ENG 468-0
Programming Massively Parallel Processors with CUDA
COMP_SCI 340-0
Introduction to Networking
COMP_SCI 345-0
Distributed Systems
ELEC_ENG 333-0
Introduction to Communication Networks
Course Title
Track F. Algorithms
COMP_ENG 356-0
Introduction to Formal Specification & Verification
COMP_ENG 459-0
VLSI Algorithmics
COMP_ENG 510-0
Seminar (Social Media Mining)
COMP_SCI 336-0
Design & Analysis of Algorithms
ELEC_ENG 332-0
Introduction to Computer Vision
ELEC_ENG 390-0
Introduction to Robotics
IEMS 450-1
Mathematical Optimization I
IEMS 450-2
Mathematical Optimization II
IEMS 457-0
Integer Programming

Other PhD Degree Requirements

  • Advising Requirement: students admitted to the Computer Engineering PhD program must secure a permanent research faculty advisor by the end of the 3rd quarter of study (typically the end of the spring quarter). The student-advisor pairing must be officially declared through GSTS. The permanent research faculty advisor must be a Computer Engineering faculty member.
  • Teaching Requirement
  • Admission to PhD Candidacy through coursework or oral qualifier examination
  • Annual Academic Standing Review
  • Prospectus Examination
  • Dissertation and Defense

Additional requirements and processes are detailed in the Computer Engineering Graduate Study Guide and The Graduate School Policy Guide.

 

Last Updated: September 6, 2024