Requirements

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.

B.S. in Computer Science

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.

Curriculum requirements for students admitted Fall 2017

See individual page links for double counting restrictions.

B.S. in Computational Biology

The bachelor of science program in computational biology is administered by the Computational Biology Department. You can see a full list of requirements and courses here.

Bachelor of Computer Science and Arts

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.

B.S. in Music and Technology

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.

Additional Major in Computer Science

The additional major in computer science allows students pursuing a primary major in another department to also earn a CS degree.

Curriculum requirements for students admitted prior to 2017

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.

CS Minor

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)