CS Curricula

←All schools

Carnegie Mellon UniversityWebsiteAcademic Catalog

Computer ScienceDepartment Website

BS Degree in Computer Sciencesource 1source 2

360 units needed for graduation. Updated for 2023-24.

CS Courses

Math/Stat Courses

Science Courses

Other Courses


Goals

Students in the B.S. program in Computer Science are expected to acquire the following skills upon graduation:

  • Identify, use, design, develop and analyze appropriate abstractions and algorithms to solve problems while being able to prove the algorithm’s performance and correctness across a variety of metrics (e.g., time, space, parallel vs. sequential implementation, computability)
  • Implement solutions to problems in domains such as artificial intelligence, graphics and sound, software engineering, and human-computer interaction, by applying the fundamentals of those areas to create solutions to current problems while being exposed to research developments that will enable them to adapt as the technology changes
  • Reason about and implement programs in various programming languages and paradigms
  • Describe, specify, and develop large-scale, open-ended software systems subject to constraints such as performance and/or resource issues
  • Communicate technical material effectively to technical and non-technical audiences
  • Work both individually and in teams
  • Recognize the social impact of computing and the attendant responsibility to consider the legal, moral and ethical implications of computing technologies

History of the Major

2023  
Increase 15-122 (Principles of Imperative Computation) and 15-150 (Principles of Functional Programming) from 10 units → 12.
Increase 07-128 (First Year Immigration Course) from 1 unit → 3.
Make 21-120 (Differential and Integral Calculus) prerequisite an explicit requirement.
Reduce free electives accordingly.
2022  
Add alternatives to 21-259 (Calculus in Three Dimensions).
2021  
Increase 15-151 (Mathematical Foundations for Computer Science) from 10 units → 12.
2020  
Rename 07-128 (Freshman Immigration Course → First Year Immigration Course).
2019  
Add 21-259 (Calculus in Three Dimensions).
Add 15-314 (Programming Language Semantics) and 17-355 (Program Analysis) to Logic-Elective options.
Renumber 10-401 (Introduction to Machine Learning) → 10-315.
Renumber 15-381 (Artificial Intelligence: Representation and Problem Solving) → 15-281.
Make 21-120 (Differential and Integral Calculus) an implicit requirement.
2018  
Drop required Algorithms/Complexity elective.
Replace required Applications elective → required AI Elective + required Domains elective.
Renumber 15-128 (Freshman Immigration Course) → 07-128.
Drop 15-314 (Programming Language Semantics) from Logic-elective options.
Add 15-445 (Database Systems) to Systems-Elective options.
Adjust options for required Probability course.
Renumber 08-200 (Ethics and Policy Issues in Computing) → 17-200.
2017