CS Curricula

←All schools

Massachusetts Institute of TechnologyWebsiteAcademic Catalog

Electrical Engineering and Computer ScienceDepartment Website

SB Degree in Computer Science and Engineeringsource 1source 2source 3source 4source 5ABET

387 units needed for graduation. Updated for 2023-24.

CS Courses

Math/Stat Courses

Science Courses

Other Courses


Engineering Commission Student Outcomes

Graduates of the program will have an ability to:

  • Identify, formulate, and solve complex engineering problems by applying principles of engineering, science, and mathematics
  • Apply engineering design to produce solutions that meet specified needs with consideration of public health, safety, and welfare, as well as global, cultural, social, environmental, and economic factors
  • Communicate effectively with a range of audiences
  • Recognize ethical and professional responsibilities in engineering situations and make informed judgments, which must consider the impact of engineering solutions in global, economic, environmental, and societal contexts
  • Function effectively on a team whose members together provide leadership, create a collaborative and inclusive environment, establish goals, plan tasks, and meet objectives
  • Develop and conduct appropriate experimentation, analyze and interpret data, and use engineering judgment to draw conclusions
  • Acquire and apply new knowledge as needed, using appropriate learning strategies

Computing Commission Student Outcomes

Graduates of the program will have an ability to:

  • Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions
  • Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline
  • Communicate effectively in a variety of professional contexts
  • Recognize professional responsibilities and make informed judgments in computing practice based on legal and ethical principles
  • Function effectively as a member or leader of a team engaged in activities appropriate to the program’s discipline
  • Apply computer science theory and software development fundamentals to produce computing-based solutions

History of the Major

2023  
Drop "6.UAT (Oral Communication) or 6.UAR (Seminar in Undergraduate Advanced Research)".
Renumber 6.1900 (Introduction to Low-level Programming in C and Assembly) → 6.1903.
2022  
Renumber most CS courses.
Drop 6.0x (Introduction to EECS via ...).
Drop "6.034 (Artificial Intelligence) or 6.036 (Introduction to Machine Learning)".
Replace 6.0001 (Introduction to Computer Science Programming in Python) → 6.100A (Introduction to Computer Science Programming in Python) or 6.100L (Introduction to Computer Science and Programming).
Require 6.1900 (Introduction to Low-level Programming in C and Assembly).
Increase 3→5 electives, but with depth requirements (tracks).
Require a Probability or Linear Algebra course.
2021  
2020  
2019  
2018  
Add 6.UAR (Seminar in Undergraduate Advanced Research) as alternative to 6.UAT (Oral Communication).
2017  
2016  
Add 6.0001 (Introduction to Computer Science Programming in Python).
Add 6.009 (Fundamentals of Programming).
Replace 6.01 + 6.02 (Introduction to EECS I & II) → 6.0x (Introduction to EECS via ...).
Drop "18.03 (Differential Equations) or 18.06 (Linear Algebra)".
Drop "6.UAP (Undergraduate Advanced Project) or 6.UAR (Seminar in Undergraduate Research)".
Add 6.036 (Introduction to Machine Learning) alternative to 6.034 (Artificial Intelligence).
Add 6.045 (Automata, Computability, and Complexity) alternative to 6.046 (Design and Analysis of Algorithms).
Renumber 6.005 (Elements of Software Construction) → 6.031.
Replace CS Laboratory Course → Technical Elective.
2015