1. Skip to navigation
  2. Skip to content

Curriculum Details

To receive a Bachelor of Science Degree in Computer Science, students must complete at least 360 units (39 courses). Listed below is a tentative program of study, and may be changed or adjusted depending on the availability of faculty.

Freshman Year

Fall Units  
15-100 Introductory Programming 10
15-103 Principles of Computation 6
15-128 Freshman Immigration Course 1
21-111 Calculus I 10
76-100 Introduction to Reading & Writing 9

OR  
76-101 Interpretation and Argument 9
79-104 Introduction to World History 9
99-104 Carnegie Skills Workshop 3
    48
Spring Units  
15-111 Advanced Programming 9
21-112 Calculus II 10
21-127 Concepts of Mathematics 9
76-101 Interpretation and Argument 9

OR  
xx-xxx Breadth course 9
73-100 Principles of Economics 9
    46

Sophomore Year

Fall Units  
15-211 Fundamental Data Structures/Algorithms 12
21-241 Matrix Algebra 9
21-256 Multivariate Analysis and Approximation 9
15-251 Theory Foundation 12
xx-xxx Engineering & Natural Science 9
    51
Spring Units  
15-123 Systems Skills in C 9
15-212 Programming Foundation 12
15-221 Technical Writing 9
xx-xxx Engineering and Natural Science 9
xx-xxx Breadth course 9
    48

Junior Year

Fall Units  
15-213 Introduction to Computer Systems 12
15-xxx Computer Science Elective 9/12
xx-xxx Elective 9
xx-xxx Engineering and Natural Science 9
xx-xxx Breadth course 9
   

48/51

Spring Units  
15-xxx Computer Science Elective 9/12
15-xxx Computer Science Elective 9/12
36-217 Probability Theory and Random Processes 9
xx-xxx Breadth course 9
xx-xxx Engineering and Natural Science 9
    45/51

Senior Year

Fall Units  
15-451 Algorithm Design and Analysis 12
15-xxx Computer Science Elective 9/12
xx-xxx Elective 9
xx-xxx Elective 9
    39/42
Spring Units  
15-xxx Computer Science Elective 9/12
15-xxx Computer Science Elective 9/12
xx-xxx Elective 9
xx-xxx Elective 9
    36/42