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 Number Course Name Units
15-122 Principles of Imperative Computation 10
15-128 Freshman Immigration Course 1
15-131 Great Practical Ideas in Computer Science (optional) 2
15-151 Mathematical Foundations of Computer Science 10
21-120 Differential & Integral Calculus 10
76-101 Interpretation and Argument 9
99-10x Computing @ Carnegie Mellon 3
Total: 45
Spring
Course Number Course Name Units
15-150 Principles of Functional Programming 10
15-251 Great Theoretical Ideas in Computer Science 12
21-122 Integration, Differential Equations, and Approximation 10
xx-xxx Science/Engineering Course 9
xx-xxx Humanities and Arts Elective 9
Total: 50
<style="text-align: left;"=""> Sophomore Year
Fall
Course Number Course Name Units
15-213 Introduction to Computer Systems 12
21-241 Matrices and Linear Transformations 10
xx-xxx Science/Engineering Course 9
xx-xxx Humanities and Arts Elective 9
xx-xxx Minor Requirement/Free Elective 9
Total: 49
Spring
Course Number Course Name Units
15-210 Parallel and Sequential Data Structures and Algorithms 12
15-xxx Computer Science Elective 9
xx-xxx Science/Engineering Course 9
xx-xxx Humanities and Arts Elective 9
xx-xxx Minor Requirement / Free Elective 9
Total: 48
<style="text-align: left;"=""> Junior Year
Fall
Course Number Course Name Units
15-451 Algorithm Design and Analysis 12
15-xxx Computer Science Elective 9
xx-xxx Probability Course 9
xx-xxx Technical Communications Course 9
xx-xxx Minor Requirement / Free Elective 9
Total: 48
Spring
Course Number Course Name Units
15-xxx Computer Science Elective 12
15-xxx Computer Science Elective 9
xx-xxx Humanities and Arts Elective 9
xx-xxx Science/Engineering Elective 9
xx-xxx Minor Requirement / Free Elective 9
Total: 48
<style="text-align: left;"=""> Senior Year
Fall
Course Number Course Name Units
15-xxx Computer Science Elective 9
xx-xxx Humanities and Arts Elective 9
xx-xxx Minor Requirement / Free Elective 9
xx-xxx Minor Requirement / Free Elective 9
Total: 36
Spring
Course Number Course Name Units
15-xxx Computer Science Elective 9
xx-xxx Humanities and Arts Elective 9
xx-xxx Minor Requirement / Free Elective 9
xx-xxx Minor Requirement / Free Elective 9
Total: 36