MIT 6.042J: Mathematics for Computer Science
课程简介
- 来源:MIT
- 先修要求:高中数学基础
- 课程难度:🌟🌟🌟
- 预计学时:60 小时 +
MIT 6.042J 是 MIT 的离散数学课程,专门为计算机科学学生设计。课程覆盖逻辑、证明方法、集合论、图论、组合数学、概率论基础等。
离散数学是计算机科学的形式语言。算法分析、数据结构、密码学、编译器设计——这些领域都依赖离散数学。
课程资源
- 课程网站:ocw.mit.edu/6.042J
- 课程视频:YouTube
- 教材:《Mathematics for Computer Science》(MIT 6.042J 课程笔记,免费 PDF)
- 课程笔记:PDF 下载
课程内容
第一部分:数学基础
- 命题逻辑与证明方法
- 集合论与函数
- 关系与偏序
第二部分:图论
- 图的基本概念
- 树与生成树
- 欧拉图与哈密顿图
- 图着色
第三部分:组合数学
- 计数原理
- 排列与组合
- 容斥原理
- 生成函数
第四部分:概率论基础
- 条件概率与独立性
- 随机变量与期望
- 大数定律
自学建议
重点关注证明方法。 数学归纳法、反证法、构造性证明——这些证明技巧在算法分析中无处不在。
图论部分很重要。 图论是数据结构、网络算法、社交网络分析的基础。
做大量的练习题。 离散数学的学习核心是做题,而不是看视频。
备注
MIT 6.042J 的课程笔记(免费 PDF)写得非常好,适合自学的同学。Tom Leighton 和 Albert Meyer 两位教授的课程视频质量也很高。
如果你想做 AI 研究,离散数学中的概率论基础部分尤其重要。