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 | |
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 | |
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 | |
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 |