Computer Engineering Degree

Students must also complete the Undergraduate Registration Requirement and the degree requirements of their home school.

 Requirements (48 units)

Core Courses (27 units)1

Course Title
4 mathematics courses
4 units of basic science:
General Physics
and General Physics
General Physics Laboratory
and General Physics Laboratory
4 engineering analysis and computer proficiency courses
3 design and communication courses
7 social sciences/humanities courses
5 unrestricted electives

Major Program (21 units) 

Course Title
10 required courses
Introduction to Computer Engineering
Fundamentals of Computer System Software
Advanced Digital Design
Computer Architecture I
Fundamentals of Computer Programming
Fundamentals of Computer Programming II
Introduction to Electrical Engineering
Probabilistic Systems
Fundamentals of Circuits
1 additional course from a McCormick department at 200-level or higher comprised of 100% Engineering Topics based on ABET Course Partitioning Table
10 technical elective courses
2 courses chosen from the options below
Introduction to Computer Systems
Fundamentals of Signals & Systems
Fundamentals of Solid State Engineering
Fund of Electromagnetics & Photonics
Fundamentals of Electronics
5 courses from the areas below
Architecture and high-performance computing (see below)
VLSI and CAD (see below)
Embedded systems (see below)
Software systems (see below)
Networks and security (see below)
3 elective courses chosen from the options below
300-level technical courses in science, mathematics, computer science, or engineering 4
Molecular Biology
Cell Biology
Genetics and Evolution
Organic Chemistry I
and Organic Chemistry II
and Advanced Organic Chemistry
1 design course chosen from the options below
Microprocessor Systems Project I
Computer Architecture Projects
VLSI Systems Design Projects

See general requirements for details.


Maximum of 3 basic science units may come from any one area.


PHYSICS 125-2 General Physics for ISP or PHYSICS 140-3 Fundamentals of Physics may be substituted for PHYSICS 135-2 General PhysicsPHYSICS 125-3 General Physics for ISP or PHYSICS 140-3 Fundamentals of Physics may be substituted for PHYSICS 135-3 General Physics. Associated labs are PHYSICS 126-2 Physics for ISP Laboratory or PHYSICS 136-2 General Physics Laboratory and PHYSICS 126-3 Physics for ISP Laboratory or PHYSICS 136-3 General Physics Laboratory.


No more than 2 units of COMP_ENG 399-0 Projects will be counted as technical electives. Additional units of COMP_ENG 399-0 Projects may be taken but will be counted as unrestricted electives.

Area Electives

Architecture and High-Performance Computing

Course Title
COMP_ENG 329-0The Art of Multicore Concurrent Programming
COMP_ENG 358-0Introduction to Parallel Computing
COMP_ENG 362-0Computer Architecture Projects
COMP_ENG 368-0Programming Massively Parallel Processors with CUDA
COMP_ENG 452-0Adv Computer Architecture
COMP_ENG 453-0Parallel Architectures
COMP_ENG 468-0Programming Massively Parallel Processors with CUDA


Course Title
COMP_ENG 355-0ASIC and FPGA Design
COMP_ENG 357-0Design Automation in VLSI
COMP_ENG 391-0CMOS VLSI Circuit Design
COMP_ENG 392-0VLSI Systems Design Projects
COMP_ENG 459-0VLSI Algorithmics
ELEC_ENG 353-0Digital Microelectronics
COMP_ENG 393-0Advanced Low Power VLSI and Mixed-signal IC Design
COMP_ENG 493-0Advanced Low Power VLSI and Mixed-signal IC Design

Embedded Systems

Course Title
COMP_SCI 301-0Introduction to Robotics Laboratory
COMP_ENG 346-0Microprocessor System Design
COMP_ENG 347-1Microprocessor Systems Project I
COMP_ENG 347-2Microprocessor Systems Project II
COMP_ENG 364-0CyberPhysical Systems Design and Application
COMP_ENG 365-0Internet-of-things Sensors, Systems, And Applications
COMP_ENG 366-0Embedded Systems
COMP_ENG 369-0Introduction to Sensor Networks
COMP_ENG 464-0Cyber-Physical Systems Design and Application
COMP_ENG 465-0Internet-of-things Sensors, Systems, And Applications
COMP_ENG 466-0Embedded Systems
ELEC_ENG 326-0Electronic System Design I
ELEC_ENG 327-0Electronic System Design II: Project
ELEC_ENG 332-0Introduction to Computer Vision
ELEC_ENG 360-0Introduction to Feedback Systems
ELEC_ENG 390-0Introduction to Robotics
ELEC_ENG 432-0Advanced Computer Vision
MECH_ENG 333-0Introduction to Mechatronics
MECH_ENG 433-0Advanced Mechatronics

Software Systems

Course Title
COMP_SCI 150-0Fundamentals of Computer Programming 1.5
COMP_SCI 212-0Mathematical Foundations of Comp Science
COMP_SCI 214-0Data Structures & Algorithms
COMP_SCI 321-0Programming Languages
COMP_SCI 322-0Compiler Construction
COMP_SCI 336-0Design & Analysis of Algorithms
COMP_SCI 339-0Introduction to Database Systems
COMP_SCI 343-0Operating Systems
COMP_SCI 394-0Agile Software Development

Networks and Security

Course Title
COMP_SCI 340-0Introduction to Networking
COMP_SCI 350-0Introduction to Computer Security
COMP_SCI 354-0Computer System Security
ELEC_ENG 333-0Introduction to Communication Networks
COMP_ENG 334-0Fundamentals of Blockchains and Decentralization