Computer Science, BAS
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-bas/
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 Science (ASCS) Major Requirements
37 course units are required.
| 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 Electives 1 | 2 | |
| CIS Project Electives | 2 | |
| Software Design/Engineering | ||
| Introduction to Human Computer Interaction | ||
| Embedded Software for Life-Critical Applications | ||
| Operating Systems Design and Implementation | ||
| Database and Information Systems | ||
| Compilers and Interpreters | ||
| Internet and Web Systems | ||
| Interactive Computer Graphics | ||
| Computer Organization and Design | ||
| Software Systems | ||
| Networked Systems | ||
| Scalable and Cloud Computing | ||
| SEAS Engineering (EUNG) | 2 | |
| CIS 4980 | Senior Capstone Project | 1 |
| 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 |
| Select two of the following Natural Sciences: | 2 | |
| Principles of Physics I (without laboratory) | ||
| Principles of Physics II (without laboratory) | ||
| Chemistry Advanced Placement/International Baccalaureate Credit (Engineering Students Only) | ||
or CHEM 1012 | General Chemistry I | |
or CHEM 1151 | Honors Chemistry I | |
| Introduction to Biology A | ||
or BIOL 1121 | Introduction to Biology - The Molecular Biology of Life | |
| SEAS Math (EUMA) or SEAS Natural Science (EUNS) | 3 | |
| Technical Electives | ||
| Select 8 course units, with departmental approval 2,3 | 8 | |
| General Electives 4 | ||
| Select 4 Social Science or Humanities courses | 4 | |
| Select 2 Social Science or Humanities or Technology in Business & Society courses | 2 | |
| EAS 2030 | Engineering Ethics | 1 |
| or CIS 4230 | Ethical Algorithm Design | |
| or CIS 5230 | Ethical Algorithm Design | |
| or LAWM 5060 | ML: Technology Law | |
| Free Elective 5 | ||
| Select 1 course unit of free elective (approval required) | 1 | |
| Total Course Units | 37 | |
- 1
A CIS Elective is a CIS or NETS engineering course numbered 1000 or above (Note that not all CIS/NETS courses are engineering courses, please see the SEAS Undergraduate Handbook.) At most one CU of 1000-level courses may be used as a CIS Elective.
- 2
OPTION 1: Any approved minor, or sequence of approved courses. Remaining must be SEAS Math (EUMA), SEAS Natural Science (EUNS) or SEAS Engineering (EUNG).
(MINORS ARE STRONGLY ENCOURAGED)- 3
OPTION 2: Any 8 CU's from SEAS Math (EUMA), SEAS Natural Science (EUNS) or SEAS Engineering (EUNG)
- 4
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)- 5
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
| First Year | ||
|---|---|---|
| Fall | Course Units | |
| CIS 1100 | Introduction to Computer Programming | 1 |
| MATH 1400 | Calculus, Part I | 1 |
| PHYS 0140 | Principles of Physics I (without laboratory) | 1 |
| WRIT course | 1 | |
| Course Units | 4.00 | |
| Spring | ||
| CIS 1200 | Programming Languages and Techniques I | 1 |
| CIS 1600 | Mathematical Foundations of Computer Science | 1 |
| MATH 1410 | Calculus, Part II | 1 |
| PHYS 0141 | Principles of Physics II (without laboratory) | 1 |
| Course Units | 4.00 | |
| Second Year | ||
| Fall | ||
| CIS 1210 | Programming Languages and Techniques II | 1 |
| CIS 2620 | Automata, Computability, and Complexity | 1 |
| Engineering Elective | 1 | |
| Math/Natural Science | 1 | |
| General Elective | 1 | |
| Course Units | 5.00 | |
| Spring | ||
| CIS 2400 | Introduction to Computer Systems | 1 |
| CIS 3200 | Introduction to Algorithms | 1 |
| Engineering Elective | 1 | |
| Math/Natural Science | 1 | |
| General Elective | 1 | |
| Course Units | 5.00 | |
| Third Year | ||
| Fall | ||
| Project Elective | 1 | |
| CIS Elective | 1 | |
| Math/Natural Science | 1 | |
| Technical Elective | 1 | |
| General Elective | 1 | |
| Course Units | 5.00 | |
| Spring | ||
| Project Elective | 1 | |
| CIS Elective | 1 | |
| Engineering Ethics | 1 | |
| Technical Elective | 1 | |
| General Elective | 1 | |
| Course Units | 5.00 | |
| Fourth Year | ||
| Fall | ||
| CIS 4980 | Senior Capstone Project | 1 |
| Technical Electives | 3 | |
| General Elective | 1 | |
| Course Units | 5.00 | |
| Spring | ||
| Technical Electives | 3 | |
| Free Elective | 1 | |
| Course Units | 4.00 | |
| Total Course Units | 37.00 | |