Computer Science, BSE
Computer scientists and engineers have revolutionized society and created the computer and telecommunications industries that are so important to human life and the world's economy. As a result of this revolution, expertise in computer science is essential in many new areas, including computer and network service and consulting companies, financial institutions, health industries, natural science labs and medical research labs, and other contexts where intensive manipulation of information is important. As a result, opportunities for computer scientists and engineers have expanded greatly, both in specialized fields as well as in numerous dual-career opportunities in which computer expertise is combined with advanced degrees in business, communication, engineering, law, medicine, and science.
For more information: https://www.cis.upenn.edu/computer-science-bse/
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.
Computer Science (CSCI) Major Requirements
| Code | Title | Course Units |
|---|---|---|
| Engineering | ||
| CIS 1100 | Introduction to Computer Programming | 1 |
Or CIS Elective 1 | ||
| CIS 1200 | Programming Languages and Techniques I | 1 |
| CIS 1210 | Programming Languages and Techniques II | 1 |
| CIS 2400 | Introduction to Computer Systems | 1 |
| CIS 2620 | Automata, Computability, and Complexity | 1 |
| CIS 3200 | Introduction to Algorithms | 1 |
| CIS 4480/5480 | Operating Systems Design and Implementation | 1 |
| CIS 4710/5710 | Computer Organization and Design | 1 |
| CIS Elective *,1 | 4 | |
| CIS 4000 | Senior Project | 1 |
| or CIS 4100 | CIS Senior Thesis | |
| CIS 4010 | Senior Project | 1 |
| or CIS 4110 | CIS Senior Thesis | |
| Math and Natural Science | ||
| MATH 1400 | Calculus, Part I | 1 |
| MATH 1410 | Calculus, Part II | 1 |
| or MATH 1610 | Calculus for the Mathematical Sciences | |
| CIS 1600 | Mathematical Foundations of Computer Science | 1 |
| CIS 2610 | Discrete Probability, Stochastic Processes, and Statistical Inference | 1 |
| or ESE 3010 | Engineering Probability | |
| or STAT 4300 | Probability | |
| ESE/ENM 2030 | Linear Algebra with Applications to Engineering and AI | 1 |
| or ENM 2400 | Differential Equations and Linear Algebra | |
| MEAM 1100 & MEAM 1470 | Introduction to Mechanics and Introduction to Mechanics Lab | 1.5 |
| or PHYS 0150 | Principles of Physics I: Mechanics and Wave Motion | |
| or PHYS 0170 | Honors Physics I: Mechanics and Wave Motion | |
| PHYS 0151 | Principles of Physics II: Electromagnetism and Radiation | 1.5 |
| or PHYS 0171 | Honors Physics II: Electromagnetism and Radiation | |
| or ESE 1120 | Engineering Electromagnetics | |
| SEAS Math (EUMA) or SEAS Natural Science (EUNS) | 1 | |
| Technical Electives *,2 | ||
| Restricted or Unrestricted Technical Electives | 1 | |
| Unrestricted Technical Electives | 5 | |
| General Electives 3 | ||
| EAS 2030 | Engineering Ethics | 1 |
| or CIS 4230 | Ethical Algorithm Design | |
| or CIS 5230 | Ethical Algorithm Design | |
| or LAWM 5060 | ML: Technology Law | |
| Select 4 Social Science or Humanities courses | 4 | |
| Select 2 Social Science, Humanities or Technology in Business & Society courses | 2 | |
| Free Elective 4 | ||
| Select 1 course unit of free electives | 1 | |
| Total Course Units | 37 | |
- *
CIS and Technical Electives must include a course from each of the following lists:
- Networking: NETS 1500, NETS 2120, CIS 4510, CIS 5510, CIS 4550, CIS 5550, CIS 5050, CIS 5530
- Databases: CIS 4500, CIS 5500, CIS 4550, CIS 5550, CIS 2450, CIS 5450
- Distributed Systems: NETS 2120, CIS 4410, CIS 5410, CIS 4500, CIS 5500, CIS 5050, CIS 2450, CIS 5450
- Machine Learning/AI: CIS 4190, CIS 5190, CIS 2210, CIS 5210, CIS 5200, CIS 2450, CIS 5450, CIS 6200
- Project: NETS 2120, CIS 3500, CIS 4120, CIS 5120, CIS 4410, CIS 5410, CIS 4500, CIS 5500, CIS 4521, CIS 5521, CIS 4550, CIS 5550, CIS 4600, CIS 5600, CIS 5050, CIS 5530
The same course can count towards multiple lists, e.g., NETS 2120 and CIS 2450 together satisfy all five lists.
- 1
A CIS Elective is a CIS or NETS engineering course at the 1000 level or above, (NOTE: not all CIS/NETS courses are engineering courses; please see the SEAS Undergraduate Handbook. At most, one CU of 1000-level coursework may be used as a CIS Elective.
- 2
All Technical Electives must be from the list of approved courses.
- 3
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)- 4
-
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
Concentrations
Students may select one of seven concentrations.
Artificial Intelligence
| Code | Title | Course Units |
|---|---|---|
| CIS 2210 | Introduction to Artificial Intelligence | 1 |
| or CIS 5210 | Artificial Intelligence | |
| CIS 4190/5190 | Applied Machine Learning | 1 |
| or CIS 5200 | Machine Learning | |
| Electives (Two from the following) | 2 | |
| Artificial Intelligence Lab: Data, Systems, and Decisions | ||
| Deep Learning for Data Science | ||
| Natural Language Processing | ||
| Machine Perception | ||
| Computer Vision & Computational Photography | ||
| Design of Mechatronic Systems | ||
| Introduction to Robotics | ||
| Crowdsourcing and Human Computation | ||
| Total Course Units | 4 | |
Cognitive Science
| Code | Title | Course Units |
|---|---|---|
| COGS 1001/CIS 1400 | Introduction to Cognitive Science | 1 |
| LING 0500 | Introduction to Formal Linguistics | 1 |
| or LING 2300 | Sound Structure of Language | |
| or LING 2500 | Introduction to Syntax | |
| or LING 2700 | Language Acquisition | |
| CIS 2210 | Introduction to Artificial Intelligence | 1 |
| or CIS 5210 | Artificial Intelligence | |
| or CIS 5200 | Machine Learning | |
| or CIS 4300/5300 | Natural Language Processing | |
| PSYC 1210 | Introduction to Brain and Behavior | 1 |
| or PSYC 1340 | Perception | |
| or PSYC 1230 | Cognitive Neuroscience | |
| or PSYC 1310 | Language and Thought | |
| or PSYC 2377 | Cognitive Development | |
| or PSYC 2737 | Judgment and Decisions | |
| PHIL 1710 | Introduction to Logic | 1 |
| or PHIL 2640 | Introduction to Philosophy of Mind | |
| or PHIL 4721 | Logic and Computability 1 | |
| or PHIL 4840 | Philosophy of Psychology | |
| Total Course Units | 5 | |
Computational Biology
| Code | Title | Course Units |
|---|---|---|
| BIOL 1101 | Introduction to Biology A | 1.5 |
| or BIOL 1121 | Introduction to Biology - The Molecular Biology of Life | |
| BIOL 2210 | Molecular Biology and Genetics | 1 |
| ESE 4020 | Statistics for Data Science | 1 |
| or STAT 4310 | Statistical Inference | |
| or BIOL 2510 | Statistics for Biologists | |
| CIS 5450 | Big Data Analytics | 1 |
| or ESE 3050 | Foundations of Data Science | |
| or CIS 4190/5190 | Applied Machine Learning | |
| or CIS 5200 | Machine Learning | |
| or ESE 5450 | Data Mining: Learning from Massive Datasets | |
| or STAT 4710 | Modern Data Mining | |
| BIOL 4231 | Genome Science and Genomic Medicine | 1 |
| or BE 5690 | Principles and Engineering of Cell Signaling | |
| or BE 4800 | Introduction to Biomedical Imaging | |
| or BE 3060 | Cellular Engineering | |
| BIOL 4536/CIS 4360 | Introduction to Computational Biology & Biological Modeling | 1 |
| or BIOL 5536/GCB 5360 | Fundamentals of Computational Biology | |
| or BIOL 5571 | Topics in Computational Biology | |
| Total Course Units | 6.5 | |
Computer Vision
| Code | Title | Course Units |
|---|---|---|
| CIS 5800 | Machine Perception | 1 |
| CIS 5810 | Computer Vision & Computational Photography | 1 |
| CIS 6800 | Advanced Topics in Machine Perception | 1 |
| CIS 5200 | Machine Learning | 1 |
| Total Course Units | 4 | |
Data Science
| Code | Title | Course Units |
|---|---|---|
| CIS 4190/5190 | Applied Machine Learning | 1 |
| or CIS 5200 | Machine Learning | |
| or ESE 5450 | Data Mining: Learning from Massive Datasets | |
| or STAT 4710 | Modern Data Mining | |
| CIS 2450/5450 | Big Data Analytics | 1 |
| or ESE 3050 | Foundations of Data Science | |
| ESE 4020 | Statistics for Data Science | 1 |
| or STAT 4310 | Statistical Inference | |
| Elective (One from the following) | 1 | |
| Introduction to Artificial Intelligence | ||
| Database and Information Systems | ||
| Internet and Web Systems | ||
| Deep Learning for Data Science | ||
| Artificial Intelligence | ||
| Machine Perception | ||
| Forecasting Methods for Management | ||
| Applied Probability Models in Marketing | ||
| Applied Econometrics I | ||
| Total Course Units | 4 | |
Software Foundations
| Code | Title | Course Units |
|---|---|---|
| CIS 4521/5521 | Compilers and Interpreters | 1 |
| CIS 5000 | Software Foundations | 1 |
| Elective (Two from the following) | 2 | |
| Software Design/Engineering | ||
| Principles of Embedded Computation | ||
| Software Analysis | ||
| Advanced Programming | ||
| Computer-Aided Verification | ||
| Friendly Logics | ||
| Total Course Units | 4 | |
Systems
| Code | Title | Course Units |
|---|---|---|
| Select 5 CU from the following | 5 | |
| Computer and Network Security | ||
| Embedded Software for Life-Critical Applications | ||
| Database and Information Systems | ||
| Internet and Web Systems | ||
| Software Systems | ||
| Networked Systems | ||
| Scalable and Cloud Computing | ||
| Total Course Units | 5 | |
| First Year | ||
|---|---|---|
| Fall | Course Units | |
| CIS 1100 | Introduction to Computer Programming | 1 |
| General Elective (e.g., WRIT course) | 1 | |
| MATH 1400 | Calculus, Part I | 1 |
| PHYS 0150 | Principles of Physics I: Mechanics and Wave Motion | 1.5 |
| Course Units | 4.50 | |
| Spring | ||
| CIS 1200 | Programming Languages and Techniques I | 1 |
| CIS 1600 | Mathematical Foundations of Computer Science | 1 |
| MATH 1410 | Calculus, Part II | 1 |
| PHYS 0151 | Principles of Physics II: Electromagnetism and Radiation | 1.5 |
| Course Units | 4.50 | |
| Second Year | ||
| Fall | ||
| CIS 1210 | Programming Languages and Techniques II | 1 |
| CIS 2620 | Automata, Computability, and Complexity | 1 |
| ESE 2030 | Linear Algebra with Applications to Engineering and AI | 1 |
| Math or Natural Science Elective | 1 | |
| General Elective | 1 | |
| Course Units | 5.00 | |
| Spring | ||
| CIS 2400 | Introduction to Computer Systems | 1 |
| STAT 4300 | Probability | 1 |
| CIS Elective | 1 | |
| Technical Elective | 1 | |
| General Elective | 1 | |
| Course Units | 5.00 | |
| Third Year | ||
| Fall | ||
| CIS 4480 | Operating Systems Design and Implementation | 1 |
| CIS 3200 | Introduction to Algorithms | 1 |
| CIS Elective | 1 | |
| Technical Elective | 1 | |
| Course Units | 4.00 | |
| Spring | ||
| CIS 4710 | Computer Organization and Design | 1 |
| CIS Elective | 1 | |
| Technical Elective | 1 | |
| General Elective | 1 | |
| Engineering Ethics | 1 | |
| Course Units | 5.00 | |
| Fourth Year | ||
| Fall | ||
| CIS 4000 | Senior Project | 1 |
| CIS Elective | 1 | |
| Technical Elective | 1 | |
| General Elective | 2 | |
| Course Units | 5.00 | |
| Spring | ||
| CIS 4010 | Senior Project | 1 |
| Technical Elective | 2 | |
| Free Elective | 1 | |
| Course Units | 4.00 | |
| Total Course Units | 37.00 | |