Carnegie Mellon CS Undergraduate Program Guide 2026
Table of Contents
- Overview of Carnegie Mellon’s CS Undergraduate Program
- CMU Computer Science Admission and Direct Entry
- Core CS Curriculum and Degree Requirements
- CMU CS Constrained Elective Categories
- Mathematics and General Education at Carnegie Mellon
- Required Minor or Concentration in the CMU CS Degree
- CMU CS Research Opportunities and Senior Thesis
- Carnegie Mellon Dual Degree and Additional Major Options
- CMU CS Sample Curriculum and Four-Year Plan
- Learning Outcomes and Career Preparation at CMU
📌 Key Takeaways
- Direct admission to SCS: Students enter the School of Computer Science from day one — no need to declare the major later
- 360-unit degree: Rigorous curriculum spanning 12 CS courses, 6 math courses, science, humanities, and a required minor or concentration
- Five constrained elective categories: AI, Domains, Logics/Languages, Software Systems, and open SCS electives ensure both breadth and depth
- Mandatory interdisciplinary component: Every CS student must complete a minor outside SCS or a concentration within it
- Integrated research pathway: From research practicum to a 36-unit senior thesis spanning the full senior year
Overview of Carnegie Mellon’s CS Undergraduate Program
The Carnegie Mellon University School of Computer Science (SCS) is consistently ranked among the top computer science programs in the world. The Bachelor of Science in Computer Science at CMU is designed to combine a rigorous core of foundational courses with exceptional flexibility, allowing students to pursue allied or non-allied interests through a structured system of electives, minors, and concentrations. This philosophy reflects CMU’s conviction that computing is a discipline with deep connections to virtually every field of human endeavor.
What makes the CMU CS undergraduate program distinctive is its combination of depth, breadth, and personalization. The program requires 360 units for graduation, distributed across computer science core and elective courses, mathematics, technical communication, science and engineering, humanities and arts, and a required minor or concentration. This structure produces graduates who are not merely competent programmers but versatile technologists capable of applying computational thinking across diverse domains. For institutions seeking to benchmark their own CS curriculum design, CMU’s approach offers valuable lessons in balancing rigor with flexibility — similar to the curriculum frameworks we’ve analyzed in our coverage of the University of Warwick’s CS undergraduate program.
CMU Computer Science Admission and Direct Entry
One of the most distinctive features of Carnegie Mellon’s CS program is its direct admission model. Unlike many universities where students enter a general college and declare their major later, CMU applicants apply directly to the School of Computer Science. Upon acceptance, students are immediately part of SCS and begin their computer science coursework from the first semester. This direct entry model ensures that CS students have access to the full resources of the school from day one, including advising, research opportunities, and community events.
For students already enrolled at Carnegie Mellon in other colleges, an internal transfer pathway exists. Suitably prepared students from other CMU colleges can apply for internal transfer to SCS, though acceptance depends on two critical factors: sufficiently high grades in core CS requirements and available space in the program. This selective transfer policy maintains the quality and cohesion of the SCS community while providing a pathway for late-deciding students who demonstrate exceptional aptitude for computer science.
The program is led by Department Head Srinivasan Seshan, with Charlie Garrod serving as CS Undergraduate Program Director. This dedicated leadership structure ensures that undergraduate education receives focused attention even within a department renowned for its graduate research programs. The CMU Computer Science Department provides comprehensive advising resources to support students throughout their four-year journey.
Core CS Curriculum and Degree Requirements
The Carnegie Mellon CS core consists of seven mandatory courses totaling 75 units, forming the intellectual backbone of the degree. These courses build progressively from foundational programming through data structures, systems, theoretical computer science, and advanced algorithm design.
The sequence begins with 15-122 Principles of Imperative Computation (12 units), which introduces students to rigorous imperative programming with an emphasis on contracts, invariants, and formal reasoning about program correctness. Students without prior programming experience first complete 15-112 Fundamentals of Programming and Computer Science. This is followed by 15-150 Principles of Functional Programming (12 units), which introduces the functional paradigm — a hallmark of CMU’s approach that exposes students to multiple programming paradigms early in their education.
The middle of the core sequence includes three critical courses taken in the sophomore year: 15-210 Parallel and Sequential Data Structures and Algorithms (12 units), which uniquely integrates parallel computing concepts alongside traditional sequential algorithms; 15-213 Introduction to Computer Systems (12 units), providing deep understanding of how software interacts with hardware; and 15-251 Great Ideas in Theoretical Computer Science (12 units), which develops mathematical maturity for reasoning about computation.
The core culminates with 15-451 Algorithm Design and Analysis (12 units), an advanced course that synthesizes the algorithmic foundations developed throughout the program. Additionally, all first-year students complete 07-128 First Year Immigration Course (3 units), an orientation to the SCS community. This carefully sequenced core ensures that every CMU CS graduate possesses deep competence across the fundamental pillars of computer science.
Transform your university’s course catalog into an interactive experience that helps prospective students explore your curriculum.
CMU CS Constrained Elective Categories
Beyond the core, Carnegie Mellon CS students must complete five constrained electives, each from a different category. This innovative structure ensures both breadth across CS subfields and meaningful depth in areas aligned with individual interests. The five categories — Artificial Intelligence, Domains, Logics/Languages, Software Systems, and open SCS electives — collectively represent the full landscape of modern computer science.
Artificial Intelligence Elective
Students select one course (minimum 9 units) to develop skills in symbolic and probabilistic reasoning, machine learning, optimization, and perception. Options range from 15-281 Artificial Intelligence: Representation and Problem Solving to specialized courses in natural language processing (11-411), deep learning (11-485), computer vision (16-385), and robot kinematics (16-384). This category reflects CMU’s leadership in AI research and ensures every CS graduate has foundational AI competence.
Domains Elective
The Domains category (minimum 9 units) exposes students to major CS application areas beyond the other constrained categories. Options include computational biology (02-251), human-centered software design (05-391), computer music (15-322), computer security (15-330), computer graphics (15-362), complexity theory (15-455), and software engineering foundations (17-313). This breadth ensures students encounter the diverse applications of computing.
Logics/Languages Elective
This category (minimum 9 units) develops formal reasoning about programs and systems — a distinctive strength of CMU’s CS education. Courses include logic and mechanized reasoning (15-311), foundations of programming languages (15-312), software foundations of security and privacy (15-316), constructive logic (15-317), automated program verification (15-414), and even category theory (80-413). This emphasis on formal methods reflects CMU’s tradition of programming language research excellence.
Software Systems Elective
The most demanding constrained elective category requires a minimum of 12 units and emphasizes four key skills: understanding hardware influence on software design, analyzing system failures and resource limitations, developing abstractions from lower-level primitives, and demonstrating learning through significant project implementations where programming tasks constitute at least 40% of the course grade. Options include operating system design (15-410, 15 units), compiler design (15-411, 15 units), parallel computer architecture (15-418), distributed systems (15-440), networking (15-441), and database systems (15-445). These project-intensive courses produce graduates who can build and reason about large-scale software systems.
SCS Open Electives
Two additional electives (minimum 18 units total) can be chosen from any of the seven SCS departments: Computer Science, Computational Biology, Human-Computer Interaction, Machine Learning, Language Technologies, Robotics, and Software and Societal Systems. This cross-departmental flexibility leverages the full breadth of CMU’s computing ecosystem and allows students to explore emerging fields that interest them.
Mathematics and General Education at Carnegie Mellon
The CMU CS degree requires six mathematics courses (58 units) that provide the quantitative foundation essential for advanced computer science. The required sequence includes Mathematical Foundations for Computer Science (15-151, 12 units), Differential and Integral Calculus (21-120, 10 units), Integration and Approximation (21-122, 10 units), Matrices and Linear Transformations (21-241, 11 units), and Calculus in Three Dimensions (21-259, 10 units). Students must also complete a probability requirement, choosing from Probability and Computing (15-259), Probability (21-325), Probability Theory for Computer Scientists (36-218), or a two-course statistics sequence (36-225 and 36-226).
General education at Carnegie Mellon encompasses science and engineering (minimum 36 units across four courses from Mellon College of Science or College of Engineering), humanities and arts (minimum 63 units across seven courses from the College of Humanities and Social Sciences or College of Fine Arts), and a technical communication requirement (9 units). The humanities and arts requirement is notably extensive at seven courses, reflecting CMU’s commitment to producing well-rounded technologists who understand the social, cultural, and ethical dimensions of their work. This approach to general education parallels what we’ve documented in other leading technical universities, such as NUS’s data science program structure.
Required Minor or Concentration in the CMU CS Degree
A truly distinctive feature of the Carnegie Mellon CS degree is the mandatory minor or concentration. Every CS student must complete either a minor in a subject outside the School of Computer Science or a concentration within an SCS department. This requirement — unusual among top CS programs — ensures that every graduate possesses meaningful expertise beyond core computer science.
An outside minor typically comprises five to six courses within a particular department, providing foundational knowledge of a specific discipline. Any non-SCS minor offered at CMU is eligible, ranging from mathematics and statistics to business, psychology, creative writing, or music. An SCS concentration, available exclusively to SCS students, typically requires four to five courses within an SCS department and assumes prior completion of core CS prerequisites including 15-210, 15-213, and 15-251. This path allows students to develop deeper specialization in areas like machine learning, robotics, or language technologies.
Completion of an additional major or dual degree also satisfies this requirement. The program encourages students to begin planning for their minor or concentration during their sophomore year, ensuring adequate time to complete the requirements within the standard four-year timeline. Double counting policies allow courses taken for the minor to count toward general education categories, though double counting with CS and math requirements is strictly limited to a maximum of five of the twelve core CS requirements.
Make your program catalog interactive — see how students engage with your curriculum content in real time.
CMU CS Research Opportunities and Senior Thesis
Carnegie Mellon’s School of Computer Science offers one of the most integrated undergraduate research programs in the country. The research pathway is deliberately structured to guide students from initial exposure through independent investigation, culminating in potential thesis-level work.
The entry point for many students is 07-300 Research and Innovation in Computer Science (9 units), which introduces students to ongoing SCS research projects while simultaneously satisfying the technical communications requirement. This dual-purpose course efficiently exposes students to the research landscape while developing their ability to communicate technical material effectively.
Students can then progress to the Research Practicum (07-400, 12 units), which involves completing a small-scale research study culminating in a poster presentation. This provides hands-on experience with the full research cycle — from problem identification through methodology, execution, and dissemination — within a structured and supported framework.
For students pursuing research-intensive careers or graduate school, the Senior Research Thesis (07-599, 36 units) represents the pinnacle of the undergraduate research experience. This intensive course spans the entire senior year (18 units per semester), equivalent to four regular classroom courses in scope and commitment. Students work closely with a faculty advisor on a significant research project, producing a formal thesis that demonstrates their ability to conduct independent research. Up to 18 units of thesis credit can count toward CS elective requirements, integrating this experience seamlessly into the degree structure.
Beyond these formal pathways, part-time and summer research positions are widely available through SCS’s numerous ongoing research projects, and students can earn independent study credit for research work. This ecosystem of research opportunities reflects CMU’s world-class research enterprise and its commitment to involving undergraduates in the discovery process from early in their academic careers.
Carnegie Mellon Dual Degree and Additional Major Options
CMU provides multiple pathways for students seeking credentials beyond the standard BS in Computer Science, reflecting the school’s recognition that modern careers increasingly demand interdisciplinary expertise.
Dual Degree in Computer Science
Students enrolled in other CMU colleges can pursue a dual degree with a BS in Computer Science. This pathway requires the same application process as internal transfers, with a minimum of 450 total units across both degrees. Dual degree students must meet all CS major requirements including general education, though 07-128 is waived and 15-151 can be replaced with 21-127 or 21-128. The primary major substitutes for the minor requirement, simplifying the path to completion.
Computer Science Additional Major
For students seeking to add CS expertise to their primary degree without the full dual degree commitment, the additional major option requires 12 CS courses, 5 mathematics courses, and 1 technical communication course. Importantly, students must first complete the CS minor and maintain an average QPA of 3.0 or higher. Declaration is allowed only after substantial progress — all math requirements completed or in progress, and at least 9 of 12 CS requirements completed or in progress. Acceptance is not guaranteed and depends on performance and seat availability.
Computer Science Minor
The CS minor provides a pathway for non-CS students to develop meaningful computing competence. Prerequisites include 15-112 and 21-127 or 21-128, with core requirements of 15-122, 15-150, and 15-210, plus either 15-213 or 15-251, and two CS electives. A minimum QPA of 2.0 with all courses earning C or higher is required. Similar to how ESSEC structures its global BBA for interdisciplinary breadth, CMU’s minor and additional major options ensure computing skills are accessible across the university.
CMU CS Sample Curriculum and Four-Year Plan
The official sample four-year course sequence demonstrates how students can navigate the program’s requirements efficiently while maintaining manageable semester loads. The plan assumes entering credit for introductory programming and one semester of calculus — common for admitted students.
In the freshman year, students complete the orientation course (07-128), begin the core CS sequence with 15-122 and 15-150, take foundational math (15-151, 21-122, 21-259), start computer systems (15-213), and begin their humanities and general education requirements. The sophomore year introduces the critical algorithms and theory courses (15-210, 15-251), linear algebra (21-241), probability, science/engineering electives, and the first constrained elective (Domains). Students also begin work on their minor or free electives.
The junior year brings the capstone algorithms course (15-451), three constrained electives (Logic/Languages, Systems, AI), technical communications, and continued minor and general education work. The senior year features a lighter course load with remaining SCS electives, humanities, and minor or free elective courses — intentionally designed to accommodate job interviews, graduate school visits, or research thesis work.
Students entering without programming or calculus credit take 15-112 and/or 21-120 in their first semester but can still complete the degree in four years. The flexibility built into the sample plan accounts for varied preparation levels while ensuring all students can graduate on time with thoughtful planning.
Learning Outcomes and Career Preparation at CMU
The Carnegie Mellon CS program defines seven key competencies that graduates are expected to achieve, each mapped to specific curricular elements. These outcomes go beyond technical proficiency to encompass the full range of skills demanded by modern computing careers.
Algorithm Design and Analysis develops the ability to identify, design, and analyze appropriate abstractions and algorithms, with competence in proving performance and correctness across metrics including time, space, and parallel versus sequential implementation. Applied Domain Knowledge ensures graduates can implement solutions in areas such as artificial intelligence, graphics, software engineering, and human-computer interaction while staying current with research developments.
Programming Languages and Paradigms prepares students to reason about and implement programs across diverse languages and paradigms — a capability seeded by the early exposure to both imperative (15-122) and functional (15-150) programming. Large-Scale Systems Development addresses the ability to specify and develop complex software systems subject to real-world performance and resource constraints, directly supported by the rigorous Software Systems elective requirement.
Technical Communication develops the ability to convey complex material to both technical and non-technical audiences. Collaboration ensures graduates can work effectively both individually and in teams. Finally, Ethics and Social Responsibility reflects CMU’s commitment to producing graduates who recognize the social impact of computing and consider the legal, moral, and ethical implications of their work. This holistic approach to learning outcomes demonstrates how top-tier programs integrate professional development with technical education — an approach explored across different institutional contexts in our analysis of Waseda University’s approach to graduate preparation.
The School of Computer Science also offers BS degrees in Artificial Intelligence, Computational Biology, Human-Computer Interaction, Robotics, and Computer Science and the Arts (jointly with the College of Fine Arts), providing students who discover specific passions during their studies with pathways to more specialized degrees within the SCS ecosystem.
Turn your static course catalog PDF into an engaging interactive experience — discover how Libertify helps universities recruit top students.
Frequently Asked Questions
What are the admission requirements for Carnegie Mellon’s CS program?
Students apply directly to the School of Computer Science and are admitted upon enrollment — there is no need to declare the major later. Internal transfers from other CMU colleges are possible but depend on sufficiently high grades in core CS requirements and available space in the program.
How many units are required for the CMU Computer Science BS degree?
The BS in Computer Science requires a minimum of 360 units, distributed across 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 or concentration electives (63 units).
Is a minor required for the Carnegie Mellon CS degree?
Yes, the CMU CS degree requires either a minor in a subject outside the School of Computer Science or a concentration within an SCS department. Completion of an additional major or dual degree also satisfies this requirement, making interdisciplinary breadth a core feature of the program.
What research opportunities exist for CMU CS undergraduates?
CMU offers extensive research pathways including part-time and summer research positions, independent study credit, the Research Practicum (07-400) for small-scale studies with poster presentations, and the Senior Research Thesis (07-599) spanning the entire senior year for 36 units of credit.
What constrained elective categories must CMU CS students complete?
Students must complete five constrained electives from distinct categories: Artificial Intelligence (courses in ML, NLP, deep learning, robotics), Domains (computational biology, HCI, computer music, security), Logics/Languages (programming languages, formal verification), Software Systems (operating systems, compilers, distributed systems), and two open SCS electives from any department.