Computer Engineering Degree
Students must also complete the Undergraduate Registration Requirement and the degree requirements of their home school.
Requirements (48 units)
Core Courses (26 units)1
| Course | Title |
|---|---|
| 4 mathematics courses | |
| 4 units of basic science: 2,3 | |
| General Physics and General Physics Laboratory 4 | |
| General Physics and General Physics Laboratory | |
| General Physics and General Physics Laboratory | |
| 3 engineering foundations courses | |
| 3 design, communications, and innovation courses | |
| 7 social sciences/humanities courses | |
| 5 unrestricted electives | |
Major Program (22 units)
| Course | Title |
|---|---|
| 8 required courses | |
| Introduction to Computer Engineering | |
| Fundamentals of Computer System Software | |
| Advanced Digital Design | |
| Computer Architecture I | |
| Programming in Systems-Level Languages | |
| Introduction to Electrical Engineering | |
| Probabilistic Systems | |
1 additional course from a McCormick department at 200-level or higher comprised of 100% Engineering Topics based on ABET Course Partitioning Table | |
| 14 technical elective courses | |
| 4 courses chosen from the options below | |
| Software Design & Composition | |
| Data Structures & Algorithms | |
| Introduction to Computer System | |
| Fundamentals of Circuits | |
| Fundamentals of Signals & Systems | |
| Fundamentals of Solid State Engineering | |
| Fund of Electromagnetics & Photonics | |
| Fundamentals of Electronics | |
| 1 course chosen from options below | |
| Math Foundations of CS Part 1: Discrete Math for CS | |
| Applied Ordinary Differential Equations | |
| 5 courses from the areas below 5 | |
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 6 | |
| Molecular Biology | |
| Cell Biology | |
| Genetics and Evolution | |
| Organic Chemistry I and Organic Chemistry II and Organic Chemistry III | |
| 1 design course chosen from the options below | |
| Microprocessor Systems Project I | |
| Computer Architecture Projects | |
| VLSI Systems Design Projects | |
- 1
See general requirements for details.
- 2
Each course in the PHYSICS 135-1,2,3 sequence must be taken concurrently with the corresponding PHYSICS 136-1,2,3 laboratory course.
- 3
PHYSICS 125-1 General Physics ISP or PHYSICS 140-1 Fundamentals of Physics may be substituted for PHYSICS 135-1 General Physics. PHYSICS 125-2 General Physics for ISP or PHYSICS 140-2 Fundamentals of Physics may be substituted for PHYSICS 135-2 General Physics. PHYSICS 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-1 Fundamentals of Physics Laboratory or PHYSICS 136-1 General Physics Laboratory, PHYSICS 126-2 Fundamentals of Physics Laboratory or PHYSICS 136-2 General Physics Laboratory, and PHYSICS 126-3 Fundamentals of Physics Laboratory or PHYSICS 136-3 General Physics Laboratory.
- 4
PHYSICS 135-1 General Physics can be replaced by GEN_ENG 212-0 Engineering Physics - Dynamics (Note: if replaced by GEN_ENG 212-0 Engineering Physics - Dynamics another 1/3 unit of science is needed to fulfill the science requirement). Courses can be chosen from McCormick-approved basic science categories of Chemistry, Physics, Biological Science, Earth & Planetary Science or Astronomy.
- 5
Students may take any combination of courses from any subset of these technical areas which achieves the required total.
- 6
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-0 | The Art of Multicore Concurrent Programming |
| COMP_ENG 358-0 | Introduction to Parallel Computing |
| COMP_ENG 362-0 | Computer Architecture Projects |
| 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 |
VLSI and CAD
| Course | Title |
|---|---|
| COMP_ENG 355-0 | ASIC and FPGA Design |
| COMP_ENG 357-0 | Design Automation in VLSI |
| COMP_ENG 387-0 | Real-Time Digital Systems Design and Verification with FPGAs |
| COMP_ENG 391-0 | CMOS VLSI Circuit Design |
| COMP_ENG 392-0 | VLSI Systems Design Projects |
| 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 |
| ELEC_ENG 353-0 | Digital Microelectronics |
Embedded Systems
| Course | Title |
|---|---|
| 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 369-0 | Introduction to Sensor Networks |
| 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 |
| COMP_SCI 301-0 | Introduction to Robotics Laboratory |
| ELEC_ENG 326-0 | Electronic System Design I |
| ELEC_ENG 327-0 | Electronic System Design II: Project |
| ELEC_ENG 332-0 | Introduction to Computer Vision |
| ELEC_ENG 360-0 | Introduction to Feedback Systems |
| ELEC_ENG 390-0 | Introduction to Robotics |
| ELEC_ENG 432-0 | Advanced Computer Vision |
| MECH_ENG 333-0 | Introduction to Mechatronics |
| MECH_ENG 433-0 | Advanced Mechatronics |
Software Systems
| Course | Title |
|---|---|
| COMP_SCI 212-0 | Math Foundations of CS Part 1: Discrete Math for CS |
| COMP_SCI 321-0 | Programming Languages |
| COMP_SCI 322-0 | Compiler Construction |
| COMP_SCI 336-0 | Design & Analysis of Algorithms |
| COMP_SCI 339-0 | Introduction to Database Systems |
| COMP_SCI 343-0 | Operating Systems |
| COMP_SCI 394-0 | Agile Software Development |
Networks and Security
| Course | Title |
|---|---|
| COMP_ENG 334-0 | Fundamentals of Blockchains and Decentralization |
| COMP_SCI 340-0 | Introduction to Networking |
| COMP_SCI 350-0 | Introduction to Computer Security |
| COMP_SCI 354-0 | Computer System Security |
| ELEC_ENG 333-0 | Introduction to Communication Networks |