Sample Undergraduate Course Sequence

(Revised November 2017)

Minimum number of units required for the degree: 360

The sample given below is for a student who already has credit for introductory programming but no credit for calculus. Students with credit for calculus may start with 21-241 in their first year if desired. Students with no credit for introductory programming will take 15-112 in their first semester and shift some CS courses to later semesters after consulting with their academic advisor; these students should still be able to complete their degree in four years given the light load of their senior year. It is recommended that students keep their academic load lighter for their Senior Fall semester to account for offsite job interviews or for their Senior Spring semester to account for visits to graduate schools.


Freshman Year
Fall
Course NumberCourse NameUnits
15-122Principles of Imperative Computation10
15-128Freshman Immigration Course1
15-131Great Practical Ideas in Computer Science (optional)2
15-151Mathematical Foundations of Computer Science10
21-120Differential & Integral Calculus10
76-101Interpretation and Argument9
99-10xComputing @ Carnegie Mellon3
Total:45
Spring
Course NumberCourse NameUnits
15-150Principles of Functional Programming10
15-251Great Theoretical Ideas in Computer Science12
21-122Integration, Differential Equations, and Approximation10
xx-xxxScience/Engineering Course9
xx-xxxHumanities and Arts Elective9
Total:50
Sophomore Year
Fall
Course NumberCourse NameUnits
15-213Introduction to Computer Systems12
21-241Matrices and Linear Transformations10
xx-xxxScience/Engineering Course9
xx-xxxHumanities and Arts Elective9
xx-xxxMinor Requirement/Free Elective9
Total:49
Spring
Course NumberCourse NameUnits
15-210Parallel and Sequential Data Structures and Algorithms12
15-xxxComputer Science Elective9
xx-xxxScience/Engineering Course9
xx-xxxHumanities and Arts Elective9
xx-xxxMinor Requirement / Free Elective9
Total:48
Junior Year
Fall
Course NumberCourse NameUnits
15-451Algorithm Design and Analysis12
15-xxxComputer Science Elective9
xx-xxxProbability Course9
xx-xxxTechnical Communications Course9
xx-xxxMinor Requirement / Free Elective9
Total:48
Spring
Course NumberCourse NameUnits
15-xxxComputer Science Elective12
15-xxxComputer Science Elective9
xx-xxxHumanities and Arts Elective9
xx-xxxScience/Engineering Elective9
xx-xxxMinor Requirement / Free Elective9
Total:48
Senior Year
Fall
Course NumberCourse NameUnits
15-xxxComputer Science Elective9
xx-xxxHumanities and Arts Elective9
xx-xxxMinor Requirement / Free Elective9
xx-xxxMinor Requirement / Free Elective9
Total:36
Spring
Course NumberCourse NameUnits
15-xxxComputer Science Elective9
xx-xxxHumanities and Arts Elective9
xx-xxxMinor Requirement / Free Elective9
xx-xxxMinor Requirement / Free Elective9
Total:36