Each undergraduate program has a unique set of academic requirements associated with it. Information about each program with a link to curriculum or program requirements is included below.
Students pursuing a B.S. in Computer Science must take a minimum of 360 units in the following categories: Computer Science, Mathematics/Probability, Engineering and Natural Sciences, Humanities and Arts, Required Minor, Computing @ Carnegie Mellon and Free Electives.
Students admitted prior to fall 2017 should refer to curriculum information under Current Students for the informaiton appropriate to the year they first enrolled.
The BCSA curriculum requires students to fulfill general education requirements, and requirements for their CFA and SCS concentrations. For full details about the program's academic requirements are available here.
In the Music and Technology undergraduate program, students complete either a music concentration or the technical concentration. A complete breakdown of the curriculum is available here.
The additional major in computer science allows students pursuing a primary major in another department to also earn a CS degree. Curriculum requirements for the additional major are available here.
In order to avoid excessive double-counting, students pursuing a double major or minor in computer science must complete at least six courses in their home department, of at least 9 units each, none of which are required by (or are cognates for requirements in) the computer science major.
Students working toward a CS minor must take the prerequisite courses 15-112: Fundamentals of Programming and 21-127: Concepts of Mathematics.
Required courses include:
- 15-122: Principles of Imperative Computation (requires 21-127 as a co-req)
- 15-150: Principles of Functional Programming
- 15-210: Parallel and Sequential Data Structures and Algorithms
- One of the following courses: 15-213: Introduction to Computer Systems; 15-251: Great Theoretical Ideas in Computer Science
- Two Computer Science electives (15-213 or higher; one can be from any SCS department, with prior approval)