MIT 计算机科学与工程
麻省理工MIT既是世界顶级名校,在计算机方面也是四大CS名校之一。它的计算机专业隶属于电子工程与计算机学院Electrical Engineering and Computer Science。由于MIT在开放课程上一直做得比较优秀,Syllabus课程表、Readings教材与参考资料、Slides课件、Code代码、video课程视频以及Lab实验课等等都十分齐全,因此十分推荐大家学习MIT CS的课程。
课程说明
MIT在2023年春,更新了计算机专业所有课程的编号,比如6.004这门课更改为6.1910,考虑到对外开放的课程资源都是几年前的,而新编号也就是2023年新出的课程基本都没有公开的资源,同时尽管课程编号修改了,课程原本的新官网也会备注以前的编号,所以这里仍然使用老编号方便大家查阅。
MIT 计算机相关的专业有两个,电气工程和计算机科学(Electrical Engineering and Computer Science,EECS)以及计算机科学工程(Computer Science and Engineering,CSE),本学习路线只以CSE为主。
相比于EECS,CSE不需要学习电路与电子,信号处理,信号、系统和推断,电磁波与应用,电磁场、力和运动,纳米电子系和计算系统等课程。国内不少计算机专业由于EECS和CSE没有严格区分,导致不少计算机专业仍然需要学习大量EE相关的课程,即便是强如MIT的计算机专业CSE也对EE部分没有要求(非必修,可以根据选择来进行选修,通常推荐学习计算机体系结构,也就是6.175,新编号为6.1920 或更难一点的6.823,新编号为6.5900),所以不推荐国内计算机专业的学生学习大学物理、电子等EE课程。
课程体系
计算机专业涵盖算法与理论、软件工程、编程语言、计算机系统、人机交互与图形学、人工智能与机器学习等广泛领域。在2022年,MIT对计算机科学与工程的课程要求进行了一系列更新,分为2017年课程要求和2022年课程要求。
2017年课程要求
以下是MIT 计算机科学与工程专业本科的课程学习路线图,非常详细的列出了该专业本科毕业生应该学习哪些课程,课程分为导论课、基础课、头部课和进阶课。

2022年课程要求
2022年相比于2017年,增加了一门基础编程技能课,也就是C语言和汇编语言相关课程;人工智能和机器学习不再是必修,而是选修。
- 两门编程技能课: 6.0001 Python计算机科学编程导论(新编号为6.100A),6.100L(本课是6.0001的全学期版本,覆盖的材料是一样的,但速度减慢了,因此学6.0001即可)以及 6.0004(新编号为6.1900,可以选择6.1903、6.1904这是一门主讲C语言和汇编语言的课程,目前没有对外开放,可以去学习普林斯顿COS217 编程系统导论、 CS 107 计算机组成与系统等课程)
- 三门数学课: 其中必修离散数学MIT 6.042 计算机科学中的数学,以及选择两门数学课(推荐MATH 18.05和18.06,这两门课的先修课都需要掌握MATH 18.01、18.02)
- 三门基础课程: 6.009 编程基础(新编号为6.1010)、6.006 算法概论(新编号为6.1210)、6.004 计算架构(新编号为6.1910)
- 三门必修核心课程: 必修6.031 软件构建要素(新编号为6.1020)、6.033 计算机系统工程(新编号为6.1800)以及从 6.046 算法设计与分析(新编号为6.1220)和6.045 可计算性与复杂性理论(新编号为6.1400)中选择一门
- 6门选修课: 包括2门CS学习路线的课程,两门人工智能、CS或EE的课程,两门EECS的课程;
必修推荐课程
为了方便大家查阅,以及为了应对未来MIT课程的更新,尽管在2024年,MIT仍有大量新编号课程没有对外公开,但是在说明课程时会采用“新编号(旧编号)”的形式。
① 6.100A(6.0001) Python计算机科学编程导论
为很少或没有编程经验的学生介绍计算机科学和编程。培养学生编程和使用计算技术解决问题的技能。主题包括计算、Python、简单算法和数据结构、测试和调试以及算法复杂性的概念。建议和6.0002计算思维和数据科学导论一起学习。
先修课程: 零基础可学,无先修课程
学习地址: 6.0001 Python计算机科学编程导论