Program Overview
Computer Science Program
The Computer Science Program at Carnegie Mellon University is a comprehensive undergraduate program that combines a solid core of computer science courses with the ability to gain additional depth through a required minor in a second subject or a concentration in a computing area. The curriculum provides breadth through numerous choices for science, engineering, humanities, and fine arts courses.
Overview
The program is designed to provide students with a strong foundation in computer science, as well as the flexibility to pursue allied or non-allied interests. Students apply to and are directly admitted into the School of Computer Science. Admitted students may choose to pursue an undergraduate degree in Computer Science and, upon successful completion, are awarded a Bachelor of Science in Computer Science.
BS Curriculum
The BS program in Computer Science requires students to complete a minimum of 360 units. The curriculum includes:
- Computer Science core courses (12 courses)
- Mathematics courses (5 courses)
- Technical Communication course (1 course)
- Science and Engineering courses (4 courses)
- Humanities and Arts courses (7 courses)
- Minor or Concentration Requirement (varies)
- Computing @ Carnegie Mellon (1 course)
- Free Electives (varies)
Computer Science Core Courses
The Computer Science core courses include:
- 07-128: First Year Immigration Course
- 15-122: Principles of Imperative Computation
- 15-150: Principles of Functional Programming
- 15-210: Parallel and Sequential Data Structures and Algorithms
- 15-213: Introduction to Computer Systems
- 15-251: Great Ideas in Theoretical Computer Science
- 15-451: Algorithm Design and Analysis
- Artificial Intelligence elective (min. 9 units)
- Domains elective (min. 9 units)
- Logic & Languages elective (min. 9 units)
- Software Systems elective (min. 12 units)
- Two School of Computer Science electives (min. 18 units)
Mathematics Courses
The Mathematics courses include:
- 21-120: Differential and Integral Calculus
- 21-122: Integration and Approximation
- 21-127: Concepts of Mathematics
- 21-241: Matrices and Linear Transformations
- Probability course (choose one)
Technical Communication Course
The Technical Communication course includes:
- 07-300: Research and Innovation in Computer Science
- 17-200: Ethics and Policy Issues in Computing
- 76-270: Writing for the Professions
Science and Engineering Courses
Students must complete a minimum of 36 units offered by the Mellon College of Science and/or the College of Engineering.
Humanities and Arts Courses
Students must complete a minimum of 63 units offered by the College of Humanities & Social Sciences and/or the College of Fine Arts.
Minor or Concentration Requirement
Students must complete either a minor outside of SCS or a concentration within SCS.
Computing @ Carnegie Mellon
Students must complete the 99-101: Core@CMU course.
Free Electives
A free elective is any Carnegie Mellon course. However, a maximum of nine (9) units of Physical Education and/or Military Science (ROTC) and/or Student-Led (StuCo) courses may be used toward fulfilling graduation requirements.
Sample Course Sequence
A sample course sequence is provided for students who already have credit for introductory programming and one semester of calculus.
Undergraduate Research Thesis
CS majors may use the SCS Honors Research Thesis as part of their degree.
Dual Degree in Computer Science
Students wishing to pursue a Dual Degree in Computer Science are required to apply in the same way as students wishing to transfer into the Computer Science major.
Double-Counting Restriction
Students pursuing a Dual Degree in Computer Science must complete all requirements for the CS primary major, with some restrictions on double-counting courses.
Computer Science Additional Major
Students interested in pursuing an additional major in Computer Science should first consult with the Program Coordinator in the CS Undergraduate Office.
Computer Science Minor
Students interested in pursuing a minor in Computer Science should first consult with the Program Coordinator in the CS Undergraduate Office.
Computer Science Courses
A list of Computer Science courses is provided, including course descriptions and prerequisites.
Independent Study in Computer Science
The School of Computer Science offers Independent Study courses, which allow motivated students to work on projects under the supervision of a faculty advisor while receiving academic credit.
SCS Honors Undergraduate Research Thesis
Available only to students registered in the CS Senior Research Thesis Program.
