Computer Engineering, BSE
Computer Engineering is the discipline that designs and engineers computer systems from digital circuits, through compilers and runtime systems, to networking and world-wide distributed systems. As an engineering discipline, the computer engineer must appreciate the physical aspects of computations (energy, delay, area, reliability, costs) and be able to expertly navigate the multidimensional tradeoff space associated with implementing computations. Since today’s high performance programmable computing devices mean enormous computational tasks can be performed entirely in software, the computer engineer must manage computational capabilities and functionalities which migrate between hardware and software driven by advancing technology and these engineering tradeoffs. Recent advances in manufacturing make it economical to construct systems containing billions of components and millions of lines of code, and these systems are increasingly invaluable in life-critical and real-time systems; computer engineering is the discipline that seeks to understand how to design and manage systems of this complexity while providing adequate guarantees of safety and trustworthiness for such systems.
For more information: https://www.seas.upenn.edu/prospective-students/undergrad/majors/computer-engineering/
The degree and major requirements displayed are intended as a guide for students entering in the Fall of 2026 and later. Students should consult with their academic program regarding final certifications and requirements for graduation.
Curriculum
Computer Engineering (CMPE) Major Requirements
| Code | Title | Course Units |
|---|---|---|
| Engineering | ||
| ESE 1110 | Atoms, Bits, Circuits and Systems | 1 |
| or ESE 3600 | TinyML: Tiny Machine Learning for Embedded Systems | |
| Intro to Programming (select one of the following): | 1 | |
| Introduction to Computer Programming | ||
CIS 2000+ or NETS 2000+ level engineering | ||
| CIS 1200 | Programming Languages and Techniques I | 1 |
| CIS 1210 | Programming Languages and Techniques II | 1 |
| ESE 2150 | Electrical Circuits and Systems | 1.5 |
| CIS 2400 | Introduction to Computer Systems | 1 |
| ESE 3500 | Embedded Systems/Microcontroller Laboratory | 1.5 |
| ESE 3700 | Circuit-Level Modeling, Design, and Optimization for Digital Systems | 1 |
| CIS 4480 | Operating Systems Design and Implementation | 1 |
| or CIS 5480 | Operating Systems Design and Implementation | |
| CIS 4710 | Computer Organization and Design | 1 |
| or CIS 5710 | Computer Organization and Design | |
| Intermediate CIS or ESE Elective | ||
| Select 1 CU of 2000+ level CIS or ESE engineering courses | 1 | |
| Advanced CIS or ESE Electives | ||
| Select 2 CUs of 3000+ level CIS or ESE engineering courses | 2 | |
| Senior Design | ||
| CIS 4000 | Senior Project | 1 |
| or ESE 4500 | Senior Design Project I - EE and SSE | |
| CIS 4010 | Senior Project | 1 |
| or ESE 4510 | Senior Design Project II - EE and SSE | |
| Math and Natural Science | ||
| MATH 1400 | Calculus, Part I | 1 |
| MATH 1410 | Calculus, Part II | 1 |
| or MATH 1610 | Calculus for the Mathematical Sciences | |
| ESE/ENM 2030 | Linear Algebra with Applications to Engineering and AI 1 | 1 |
| ESE 3010 | Engineering Probability | 1 |
| or CIS 2610 | Discrete Probability, Stochastic Processes, and Statistical Inference | |
| or STAT 4300 | Probability | |
| CIS 1600 | Mathematical Foundations of Computer Science | 1 |
| MEAM 1100 | Introduction to Mechanics 2 | 1 |
| or PHYS 0140 | Principles of Physics I (without laboratory) | |
| or PHYS 0150 | Principles of Physics I: Mechanics and Wave Motion | |
| or PHYS 0170 | Honors Physics I: Mechanics and Wave Motion | |
| ESE 1120 | Engineering Electromagnetics | 1.5 |
| CHEM 1012 | General Chemistry I | 1 |
| or EAS 0091 | Chemistry Advanced Placement/International Baccalaureate Credit (Engineering Students Only) | |
| or BIOL 1101 | Introduction to Biology A | |
| or BIOL 1121 | Introduction to Biology - The Molecular Biology of Life | |
| or PHYS 1240 | Principles of Physics IV: Modern Physics (without laboratory) | |
| SEAS Math (EUMA) or SEAS Natural Science (EUNS) | 1 | |
| Natural Science Lab (if applicable) 3 | 0.5 | |
| Professional Electives 4 | ||
| SEAS Math, SEAS Natural Science, or SEAS Engineering | 2 | |
| Select one of the following: | 1 | |
SEAS Math (EUMA), SEAS Natural Science (EUNS), or SEAS Engineering (EUNG) | ||
| Engineering Economics | ||
| Engineering Entrepreneurship I | ||
| Foundations of Leadership | ||
| Management of Technology | ||
| Scaling Operations in Technology Ventures: Linking Strategy and Execution | ||
| General Electives | ||
| LAWM 5060 | ML: Technology Law 5 | 1 |
| or EAS 2030 | Engineering Ethics | |
| or CIS 4230 | Ethical Algorithm Design | |
| or CIS 5230 | Ethical Algorithm Design | |
| Select 4 Social Science or Humanities courses 6 | 4 | |
| Select 2 Social Science, Humanities, or Technology in Business & Society courses | 2 | |
| Free Elective 7 | 1 | |
| Total Course Units | 37 | |
- 1
ESE 2030 and MATH 2400 are mutually exclusive. If MATH 2400 is taken, it will not count towards the degree.
- 2
If MEAM 1100 & MEAM 1470 are taken, PHYS 0150 Credit cannot be used for any degree requirement.
- 3
If BIOL 1121, CHEM 1012, EAS 0091, MEAM 1100 or PHYS 0140 are taken, choose one natural science lab from the list: BIOL 1124, CHEM 1101, MEAM 1470, PHYS 0050 or another department approved Natural Science lab.
- 4
At most, two freshman-level Engineering courses may be used as a Professional Elective.
- 5
Only the "Technology Law and Ethics" section satisfies the Engineering Ethics requirement.
- 6
Must include a Writing Seminar from the list below:
WRIT 0020 (H), WRIT 0021 (SS), WRIT 0100 (H),WRIT 0110 (H), WRIT 0120 (H), WRIT 0130 (H), WRIT 0140 (H), WRIT 0150 (H), WRIT 0160 (SS), WRIT 0170 (SS), WRIT 0220 (TBS), WRIT 0230 (H), WRIT 0250 (H), WRIT 0260 (H), WRIT 0270 (H), WRIT 0280 (SS),WRIT 0300 (H), WRIT 0310 (TBS), WRIT 0320 (-), WRIT 0330 (H), WRIT 0340 (SS), WRIT 0370 (SS), WRIT 0380 (SS), WRIT 0390 (H), WRIT 0400 (TBS), WRIT 0410 (H), WRIT 0480 (SS), WRIT 0490 (H), WRIT 0500 (SS), WRIT 0550 (SS), WRIT 0570 (H), WRIT 0580 (H), WRIT 0590 (SS),WRIT 0650 (TBS), WRIT 0670 (H), WRIT 0680 (H), WRIT 0730 (H), WRIT 0740 (TBS)
- 7
Penn Engineering undergraduates may not use courses on this list toward their degree:
- ASTR 0001
- CHEM 1011
- CIS (CSE)
- EAS 5030 (SEAS UG students may register for EAS 4030 for TBS credit)
- EAS 5050 (SEAS UG students may register for EAS 3010 for TBS credit)
- Education (inter-session courses)
- MATH 1300, MATH 1700
- MCIT courses
- Military Science
- Naval Science (except NSCI 1020, NSCI 2010 , NSCI 2020, NSCI 3010, NSCI 4010, NSCI 4020)
- Organizational Dynamics (DYNM) courses
- PHYS 1100, below PHYS 0140 (except PHYS 0050, PHYS 0051)
- Statistics below 4300 (Note: effective Fall 2021 STAT 4050 and STAT 4220 can only be used as free electives)
- Perelman School of Medicine (MED courses)
- Wharton Global Youth Pre-Baccalaureate courses
- The Green Program (TGP) study abroad
AI & Robotics Concentration
| Code | Title | Course Units |
|---|---|---|
| Select 4 Courses | 4 | |
| Big Data Analytics | ||
| Applied Machine Learning | ||
or CIS 5200 | Machine Learning | |
| Natural Language Processing | ||
| Computer Vision & Computational Photography | ||
| Artificial Intelligence | ||
| GPU Programming and Architecture | ||
| Artificial Intelligence Lab: Data, Systems, and Decisions | ||
| Signal and Information Processing | ||
| Deep Learning: A Hands-on Introduction | ||
| TinyML: Tiny Machine Learning for Embedded Systems | ||
| Control For Autonomous Robots | ||
| Feedback Control Design and Analysis | ||
| Hardware/Software Co-Design for Machine Learning | ||
| RoboRacer Autonomous Racing Cars | ||
| Learning in Robotics | ||
| Introduction to Robotics | ||
CHIPs Concentration
| Code | Title | Course Units |
|---|---|---|
| Select 4 courses: | 4 | |
| Fundamentals of Solid-State Circuits | ||
| Analog Integrated Circuits | ||
| Chips-design (*) | ||
| Chips-measurements | ||
| Quantum Engineering | ||
| RFIC (Radio Frequency Integrated Circuit) Design | ||
| Power Electronics | ||
| Mixed Signal Circuit Design and Modeling | ||
| Advanced Topics in Computer Architecture | ||
*Students who take ESE 4730/5730 must take ESE 4750/5750.
Networking and Distributed Systems Concentration
| Code | Title | Course Units |
|---|---|---|
| Select 4 courses: | 4 | |
| Scalable and Cloud Computing | ||
| Introduction to Networks and Protocols | ||
or CIS 5530 | Networked Systems | |
| Datacenter Architecture | ||
| Internet and Web Systems | ||
| Software Systems | ||
Security and Safety Concentration
| Code | Title | Course Units |
|---|---|---|
| Select 4 courses: | 4 | |
| Introduction to Blockchain | ||
| Embedded Software for Life-Critical Applications | ||
| Computer and Network Security | ||
| Software Analysis | ||
| Cryptography | ||
| Hardware Security | ||
| Freshman | ||
|---|---|---|
| Fall | Course Units | |
| MATH 1400 | Calculus, Part I | 1 |
| CIS 1100 | Introduction to Computer Programming | 1 |
| ESE 1110 | Atoms, Bits, Circuits and Systems | 1 |
| PHYS 0150 | Principles of Physics I: Mechanics and Wave Motion | 1.5 |
| CHEM 1012 or PHYS 1240 | General Chemistry I or Principles of Physics IV: Modern Physics (without laboratory) | 1 |
| Course Units | 5.50 | |
| Spring | ||
| MATH 1410 | Calculus, Part II | 1 |
| CIS 1200 | Programming Languages and Techniques I | 1 |
| CIS 1600 | Mathematical Foundations of Computer Science | 1 |
| ESE 1120 | Engineering Electromagnetics | 1.5 |
| General Elective: WRIT 0001-0091 with SS (EUSS), H (EUHS), or TBS (EUTB) | 1 | |
| Course Units | 5.50 | |
| Sophomore | ||
| Fall | ||
| CIS 2400 | Introduction to Computer Systems | 1 |
| ESE/ENM 2030 | Linear Algebra with Applications to Engineering and AI | 1 |
| ESE 2150 | Electrical Circuits and Systems | 1.5 |
| General Elective: Ethics Course | 1 | |
| General Elective: SS or H | 1 | |
| Course Units | 5.50 | |
| Spring | ||
| Probability | 1 | |
| Engineering Probability or Probability | ||
| CIS 1210 | Programming Languages and Techniques II | 1 |
| ESE 3500 | Embedded Systems/Microcontroller Laboratory | 1.5 |
| Intermediate ESE or CIS Elective (2000+ engineering) | 1 | |
| General Elective: SS or H | 1 | |
| Course Units | 5.50 | |
| Junior | ||
| Fall | ||
| Professional Elective 1 | 1 | |
| Math or Natural Sci Elective | 1 | |
| Advanced ESE or CIS Elective 1 (3000+ Engineering) | 1 | |
| General Elective: SS, H, or TBS | 1 | |
| Course Units | 4.00 | |
| Spring | ||
| Professional Elective 2 | 1 | |
| ESE 3700 | Circuit-Level Modeling, Design, and Optimization for Digital Systems | 1 |
| CIS 4710 or CIS 5710 | Computer Organization and Design or Computer Organization and Design | 1 |
| General Elective: SS, H, or TBS | 1 | |
| Course Units | 4.00 | |
| Senior | ||
| Fall | ||
| Professional Elective 3 | 1 | |
| Senior Design 1 | 1 | |
| Advanced ESE or CIS Elective 2 (3000+ engineering) | 1 | |
| General Elective: SS, H, or TBS | 1 | |
| Course Units | 4.00 | |
| Spring | ||
| Senior Design 2 | 1 | |
| CIS 4480 or CIS 5480 | Operating Systems Design and Implementation or Operating Systems Design and Implementation | 1 |
| Free Elective | 1 | |
| Course Units | 3.00 | |
| Total Course Units | 37.00 | |