CPE Degree & Concentrations
Programming & Career Focus
Computer engineers design computing systems – nearly anything involving a microprocessor – including CPUs, software, digital integrated circuits, and digital signal processing systems.
CPE Core & Concentrations
CPE Core
Foundation for all CPE students in electric circuits, digital logic, computer systems, programming, signals, linear systems, embedded systems, discrete math, data structures, teaming and communication, and the social and ethical dimensions of the practice of electrical and computer engineering.
The CPE curriculum requires:
- Math: MA 141, MA 241, MA 242, ST 371
- Science: CH 101, CH 102, PY 205, PY 206, PY 208, PY 209
- EE Core: ECE 109, ECE 200, ECE 209, ECE 211, ECE 212, ECE 220, CSC226, ECE 301, ECE 306, ECE 309, ECE 381/380/383, ECE 484/482, ECE 485/483
- Concentration Core & Electives: 12 credit hours following specific concentration requirements and choosing electives from a provided list
- Open Electives: 10 credit hours from a pre-determined list of open electives (can be outside of ECE course offerings)
- Other Major Requirements: E 101, E 102, E 115, COM 110, Economics (EC 201 or EC 205 or ARE 201), ENG 331
- GEPs: ENG 101, GEP Humanities (6 hours), GEP Social Science (3 hours) GEP Health and Exercise Studies (2 hours) GEP Elective (3 hours), Co-requisites of Global Knowledge, Foundations of American Democracy and World Language Proficiency
CPE Concentrations
Artificial Intelligence and Machine Learning
The Artificial Intelligence and Machine Learning (AI/ML) concentration prepares student to enter this rapidly growing industry. Required courses in linear algebra and machine learning provide a robust mathematical foundation. Elective courses cover neural networks, data science, and signal processing.
- Required:
- Math 305 or 405: Linear Algebra
- ECE 411: Introduction to Machine Learning
- Electives (choose 6 credits):
- Pick one or two: 410, 492-NeuralNet, 512, 558, 592-084-Optimization
- Pick up to 3 Credits from: DSC 1-Credit Offerings
Computer Architecture and Emerging Systems
This plan is for students interested in Computer Architecture, such as high-performance processors, parallel processors, GPUs, and/or custom hardware design. It also encompasses courses in emerging areas, such as Quantum Computing.
- Required:
- ECE 310
- ECE 463
- Electives (pick 2):
- Architecture: ECE 406, ECE 464
- Software: ECE 460, ECE 465, ECE 466
- Emerging Systems: ECE 469
Computer Systems Software
Computer Systems Software concentration focuses on the low-level software required to make computer systems work, such as compilers, operating systems, and embedded software. Students select 6 hours of work from selected courses in systems software and 6 additional hours related to computer system software or hardware. Additional open electives should be selected to deepen knowledge in software or connect computer systems software principles to application areas.
- Required (pick 2):
- ECE 460: Embedded Systems Architecture
- ECE 465: Operating Systems
- ECE 466: Compilers
- Electives (pick 2):
- Software (if not picked already): ECE 460, ECE 465, ECE 466
- Python: ECE 448
- Quantum Programming: ECE 469
- Networking: ECE 407
- AI/ML: ECE 411, ECE 425/492 (neural networks)
- Architecture: ECE 463
Embedded Systems
The Embedded Systems Concentration builds on top of ECE 306, a core course required of all CPEs, with an advanced two-course sequence in the architecture and optimization of embedded systems. It also requires digital hardware design to give the embedded systems engineer and understanding of hardware and software design principles and tradeoffs that are essential for meeting performance and power constraints. Additional open electives can be chosen from a variety of application areas spanning power systems, control systems, digital hardware design, software systems, networking, biomedical instrumentation, and more.
- Required:
- ECE 310
- ECE 460
- ECE 461
- Electives (pick 1):
- System Concepts: ECE 406, ECE 465, ECE 463, ECE 466, ECE 464
- Prototyping: ECE 384
Networking Hardware
Students selecting the Network Hardware concentration are expected to pursue careers in the Computer and Cloud Networking fields, with a focus on developing components and devices for the required infrastructure elements (e.g., routers, switches, adapters, IoT devices, controllers and the like). The fundamental concepts covered in this concentration include networking principles, protocols, embedded systems, and hardware development.
- Required:
- ECE407 – Basic net concepts
- ECE470 – Lab experience
- Electives (pick 2):
- ECE310 – Design of Complex Digital Systems
- ECE463 – Processor architectures
- ECE464 – ASIC Design
- ECE573 – Internet Protocols
- ECE577 – Switched Network Management, Lab experience
Networking Software
Students selecting the Network Software concentration are expected to pursue careers in the Computer and Cloud Networking fields, with a focus on developing user applications and/or control software for managing network elements (e.g., routers, switches, adapters, IoT devices, controllers and the like). The fundamental concepts covered in this concentration include networking principles, protocols, embedded systems, and software development.
- Required:
- ECE407 – Basic net concepts
- ECE470 – Lab experience
- Electives (pick 2):
- ECE460 – Embedded System Architectures
- ECE461 – Embedded System Design
- ECE465 – Operating systems
- ECE573 – Internet Protocols
- ECE574 – Computer and Network Security
- ECE575 – Introduction to Wireless Networking
- ECE577 – Switched Network Management, Lab experience
Total Credits
122 credit hrs minimum required to graduate
Dual Degree
Students who complete first-year engineering requirements can apply to CODA in the Electrical Engineering or Computer Engineering Programs. Once you are in the department with one major, after completing both ECE 109 and ECE 200 you can request to be placed in the Dual Degree Program by completing the steps found on the Changing Your Major page.
New curriculum (fall 25+): Double Majors will need to pick two concentrations, one in EE and CPE. Note, you may not pick AI/ML twice.
- Three additional courses for an EE major to double major in CPE: (1) CSC 226, (2) ECE 306, (3) ECE 309. You’ll use the 4 open electives to take the 4 required courses in a CPE concentration.
- Three additional courses for a CPE major to double major in EE: (1) ECE 302, (2) ECE 303, (3) your fourth EE concentration course. You’ll use 3 open electives for 3 of the required courses in an EE concentration.
Total Credit Hours: 131 for Dual Degree