Carnegie Mellon Undergraduate Computer Science Program Guide 2026

🎯 Key Takeaways

  • Consistently top-ranked undergraduate CS program at Carnegie Mellon’s School of Computer Science
  • 360 units minimum across 12 CS courses, 6 math courses, and liberal arts requirements
  • 5 constrained elective categories: AI, Domains, Logics/Languages, Software Systems, and SCS electives
  • Required minor or concentration — ensuring breadth beyond pure computer science
  • Extensive research: honors thesis, independent study, and part-time research positions available

Program Overview: CMU School of Computer Science B.S.

Carnegie Mellon University’s School of Computer Science (SCS) offers one of the most rigorous and highly regarded undergraduate computer science programs in the world. The B.S. in Computer Science requires a minimum of 360 units over four years, encompassing 12 computer science courses, 6 mathematics courses, technical communication, science and engineering, humanities and arts, and a required minor or concentration.

Under the leadership of Department Head Srinivasan Seshan and Undergraduate Program Director Charlie Garrod, the program is designed to produce graduates who are not only technically proficient but also capable of communicating effectively, working collaboratively, and recognizing the social impact of computing. Students are directly admitted into SCS, though internal transfers from other CMU colleges are possible based on grades and available space.

What sets CMU’s CS program apart from peer institutions is its breadth and depth of specialization within the School of Computer Science itself. SCS encompasses departments in Computer Science, Computational Biology, Human-Computer Interaction, Machine Learning, Language Technologies, Robotics, and Software and Societal Systems — enabling undergraduates to explore cutting-edge subdisciplines through constrained electives and SCS elective courses that few other universities can offer at the undergraduate level. The program’s emphasis on both theoretical foundations and large-scale systems development produces graduates uniquely prepared for both industry and graduate school. Similar commitment to producing well-rounded technologists can be seen at peer programs like those described in our guide to ETH Zurich degree programmes.

Core CS Curriculum: Building Foundational Excellence

The CS core consists of seven required courses that build a comprehensive foundation in computational thinking, programming paradigms, and theoretical computer science:

CourseTitleUnits
15-122Principles of Imperative Computation12
15-150Principles of Functional Programming12
15-210Parallel and Sequential Data Structures and Algorithms12
15-213Introduction to Computer Systems12
15-251Great Ideas in Theoretical Computer Science12
15-451Algorithm Design and Analysis12
07-128First Year Immigration Course3

This sequence is carefully designed to build competence progressively. 15-122 (Imperative Computation) and 15-150 (Functional Programming) establish fluency in both major programming paradigms. 15-210 introduces parallel and sequential algorithms — CMU’s distinctive emphasis on parallelism reflects the reality of modern computing hardware and distributed systems. 15-213 (Introduction to Computer Systems) provides the systems-level understanding that distinguishes a computer scientist from a programmer. 15-251 (Great Ideas in Theoretical CS) develops the mathematical maturity needed for advanced work, while 15-451 (Algorithm Design and Analysis) builds sophisticated algorithmic problem-solving skills.

Students without credit for introductory programming (15-112) must take it before 15-122, but even students arriving without prior programming experience can complete the program in four years with adjusted scheduling. This accessibility ensures the program reaches talented students regardless of pre-college computing exposure.

Constrained Electives: Five Categories of Specialization

Beyond the core, students select one course from each of five constrained elective categories, plus two additional SCS electives. This structure ensures both depth in chosen areas and breadth across the field.

A. Artificial Intelligence (min. 9 units)

Options include AI: Representation and Problem Solving (15-281), Introduction to Machine Learning (10-301), Natural Language Processing (11-411), Introduction to Deep Learning (11-485), Neural Computation (15-386), Computer Vision (16-385), and Robot Kinematics and Dynamics (16-384). This category reflects CMU’s extraordinary strength in AI research — the Machine Learning Department at CMU was the first of its kind in the world.

B. Domains (min. 9 units)

From computational biology (02-251) to human-centered software (05-391), computer music (15-322), computer security (15-330), computer graphics (15-362), complexity theory (15-455), and software engineering (17-313), the Domains category exposes students to the breadth of computing applications.

C. Logics/Languages (min. 9 units)

Courses include Logic and Mechanized Reasoning (15-311), Foundations of Programming Languages (15-312), Constructive Logic (15-317), Bug Catching: Automated Program Verification (15-414), and Category Theory (80-413). CMU’s strength in programming language theory is world-renowned, and this category provides exposure to formal methods and logical reasoning.

D. Software Systems (min. 12 units)

The most technically demanding category includes Operating System Design and Implementation (15-410), Compiler Design (15-411), Parallel Computer Architecture (15-418), Distributed Systems (15-440), Networking (15-441), and Database Systems (15-445). All systems elective courses require significant programming projects (≥40% of course grade), ensuring students develop hands-on engineering capability alongside theoretical understanding.

E. Two SCS Electives (min. 18 units total)

Students select two additional courses from any SCS department at the 200-level or above, allowing deep exploration of personal interests in robotics, machine learning, language technologies, or computational biology.

📘 Explore CMU’s CS curriculum interactively — navigate courses, prerequisites, and sample schedules.

View Interactive Guide

Mathematics Requirements: Rigorous Quantitative Foundation

The mathematical foundation for CMU’s CS degree consists of six required courses spanning discrete mathematics, calculus, linear algebra, multivariable calculus, and probability:

AreaCourses
Discrete Math15-151 Mathematical Foundations for CS (or 21-127/21-128)
Calculus21-120 Differential and Integral Calculus + 21-122 Integration and Approximation
Linear Algebra21-241 Matrices and Linear Transformations (or 21-242)
Multivariable21-259 Calculus in Three Dimensions (or 21-266/268/269)
ProbabilityOne of: 15-259, 21-325, 36-218, or 36-225 + 36-226

The probability requirement is particularly flexible, with options ranging from the computationally-oriented 15-259 Probability and Computing to the more statistically focused 36-225/226 sequence. This flexibility allows students to choose the mathematical flavor that best complements their intended specialization, whether in machine learning (where statistics is essential), systems (where discrete math dominates), or theory (where all are needed).

General Education: Beyond the Technical

CMU’s CS program requires substantial education beyond computer science and mathematics. Seven humanities and arts courses (minimum 63 units) from the College of Humanities & Social Sciences and/or College of Fine Arts ensure students engage with social, cultural, political, and economic issues. Four science and engineering courses (minimum 36 units) from Mellon College of Science and/or College of Engineering provide exploration of the natural sciences. One technical communication course develops professional writing and presentation skills.

This liberal arts emphasis is intentional: CMU believes that the most impactful computer scientists understand the human context in which technology operates. The technical communication requirement, specifically, covers audience analysis, peer review, oral presentation, and group work — skills that distinguish leaders from contributors in any technical organization.

Sample Four-Year Course Plan

A recommended course sequence for students entering with introductory programming credit and one semester of calculus demonstrates the program’s carefully orchestrated progression:

Freshman Fall: Imperative Computation (15-122), Mathematical Foundations (15-151), Integration (21-122), plus humanities and orientation courses. Freshman Spring: Functional Programming (15-150), Computer Systems (15-213), Multivariable Calculus (21-259), SCS mini-course, humanities elective.

Sophomore Year: Data Structures & Algorithms (15-210), Linear Algebra (21-241), Theoretical CS (15-251), probability, domains elective, science/engineering, humanities, and minor courses. Junior Year: Algorithm Design (15-451), logics/languages elective, systems elective, AI elective, technical communication, science/engineering, humanities, and minor courses.

Senior Year: Lighter loads for job interviews (fall) or graduate school visits (spring), completing SCS electives, humanities, and minor requirements. This thoughtful pacing ensures students finish strong while navigating the intense recruiting process that characterizes top CS programs.

Research Opportunities and the Honors Thesis

CMU offers extraordinary undergraduate research opportunities through SCS’s ongoing research projects. Students can participate in part-time and summer research positions, earn independent study credit, and pursue the SCS Honors Research Thesis (07-599) — a senior-year intensive spanning both semesters for 36 total units of credit.

The research pathway begins as early as junior year with 07-300 Research and Innovation in CS, which develops research skills through a small-scale study and research poster. This leads to 07-400 Research Practicum in CS, which can count toward the 36-unit thesis requirement. The full honors thesis represents one of the most rigorous undergraduate research experiences available anywhere, producing work that often results in publications at top conferences.

This research emphasis is consistent across CMU’s academic culture, including graduate programs like the CMU MITS program that similarly emphasize combining theoretical knowledge with hands-on research and practical implementation.

Minor, Concentration, and Dual Degree Options

All CS majors must complete either a minor outside SCS or a concentration within SCS. This requirement ensures that every CS graduate has developed meaningful depth in at least one additional discipline, whether that’s music, economics, philosophy, or a specialized SCS area like machine learning or robotics.

SCS concentrations typically comprise 4-5 courses within an SCS department and assume core knowledge from 15-210, 15-213, and 15-251. Available concentrations span artificial intelligence, computational biology, human-computer interaction, robotics, and more. For students seeking even deeper interdisciplinary engagement, completion of an additional major or dual degree satisfies the minor requirement.

The dual degree in Computer Science requires minimum 450 total units and full completion of all CS major requirements. At most 5 of 12 CS requirements can double-count with other declared majors and minors. A CS additional major is available for students from other colleges, requiring 12 CS courses plus 5 math courses, with a 3.0 minimum QPA. A CS minor provides a lighter option: 6 CS courses plus prerequisites, with a minimum C in all courses.

Career Outcomes and Program Learning Objectives

CMU CS graduates are prepared to excel across seven formal learning objectives: algorithm design and analysis with provable performance guarantees, applied domains in AI/graphics/HCI/software engineering, programming across languages and paradigms, large-scale systems development with performance constraints, effective technical communication, individual and team collaboration, and recognition of computing’s social and ethical impact.

These objectives translate to exceptional career outcomes. CMU CS graduates are among the most recruited in the world, joining top technology companies, financial institutions, startups, and research laboratories. The combination of theoretical rigor, systems-building skill, and liberal arts breadth produces graduates who can not only code but can lead, communicate, and think critically about the technology they create. The emphasis on social responsibility — recognizing the legal, moral, and ethical implications of computing — reflects CMU’s forward-thinking approach to technology education.

Beyond the B.S. in Computer Science, SCS offers additional undergraduate degrees in Artificial Intelligence, Computational Biology, Human-Computer Interaction, Robotics, and Computer Science and the Arts (joint with the College of Fine Arts). Available minors span AI, computational biology, CS, HCI, language technologies, machine learning, neural computation, robotics, and software engineering — providing non-CS majors access to CMU’s world-class computing education. Similar breadth in program offerings distinguishes other leading institutions like ETH Zurich and RSM Erasmus.

🎓 Explore computer science and technology programs across the world’s top universities — browse our Interactive Library.

Visit Interactive Library

Frequently Asked Questions

How many credits are required for CMU’s CS degree?

The B.S. in Computer Science requires a minimum of 360 units, spanning 12 computer science courses (125 units), 6 mathematics courses (58 units), 1 technical communication course (9 units), 4 science/engineering courses (36 units), 7 humanities/arts courses (63 units), and minor/concentration/elective courses (63 units), plus orientation courses (6 units).

What core CS courses are required at CMU?

Seven core courses are required: Principles of Imperative Computation (15-122), Principles of Functional Programming (15-150), Parallel and Sequential Data Structures and Algorithms (15-210), Introduction to Computer Systems (15-213), Great Ideas in Theoretical CS (15-251), Algorithm Design and Analysis (15-451), and the First Year Immigration Course (07-128).

Can I complete CMU CS without prior programming experience?

Yes. Students without prior programming credit take 15-112 (Fundamentals of Programming) before 15-122. Even without prior programming or calculus experience, students can complete the degree in four years with adjusted scheduling during the freshman year.

What elective categories does CMU CS require?

Students must take one course from each of five constrained elective categories: Artificial Intelligence, Domains, Logics/Languages, and Software Systems, plus two additional SCS Electives. This ensures breadth across AI, applied computing, formal methods, systems engineering, and specialized topics.

Do CMU CS students need a minor?

Yes. All CS majors must complete either a minor outside SCS or a concentration within SCS. An additional major or dual degree also satisfies this requirement. Planning should begin in the sophomore year to ensure timely completion of all requirements.

What research opportunities are available for CMU CS undergraduates?

Extensive opportunities include part-time and summer research positions, independent study credit, and the SCS Honors Research Thesis (07-599) — a two-semester senior project worth 36 units. The 07-300 → 07-400 research pipeline provides structured preparation for thesis work.

Our SaaS platform, AI Ready Media, transforms complex documents and information into engaging video storytelling to broaden reach and deepen engagement. We spotlight overlooked and unread important documents. All interactions seamlessly integrate with your CRM software.