CS自学指南适合哪些人使用?

CS自学指南(csdiy.wiki)是一份面向计算机科学自学者整理的公开学习路线与课程清单,核心价值在于把散落在全球高校的优质公开课按主题串成一条可执行的路径。它最适合有自学意愿、但缺一条清晰路线的人,尤其是想系统补齐CS基础的学生和转行者。如果你期望速成、或者需要有人督促才能坚持,这份指南大概率帮不上忙——它提供的是地图,不是陪跑。

它到底提供了什么

从网站目录看,内容覆盖从入门到进阶的完整链条:

  • 入门与工具:翻墙、Vim、Git、GitHub、GNU Make、CMake、LaTeX、Docker 等必学工具
  • 数学基础:MIT 18.01/18.02 微积分、18.06 线性代数,进阶有 UCB CS70 离散数学与概率论、MIT 6.042J 等
  • 编程语言:Python(UCB CS61A、CS50P)、C(Harvard CS50)、C++(Stanford CS106L/B)、Java、Rust、函数式语言(Cornell CS3110 OCaml、Haskell MOOC)
  • 核心专业课:数据结构与算法(UCB CS61B、MIT 6.006)、计算机系统(CMU 15-213 CSAPP)、体系结构(Nand2Tetris、UCB CS61C)、操作系统(MIT 6.1810、UCB CS162)、并行与分布式系统、系统安全等

也就是说,它把“学CS该学什么”这件事,按课程粒度给出了具体答案。

适合你的几种情况

1. 有自学意愿,但不知道从哪下手 网站开篇就有“一个仅供参考的CS学习规划”和“如何使用这本书”,相当于先给路线再给资源。你不需要自己判断先学离散数学还是先学操作系统,照着规划走即可。

2. 想系统学习CS基础的学生或转行者 目录里的课程大多来自 MIT、UCB、CMU、Stanford 等高校,覆盖数学、语言、系统、算法、安全等完整板块。对科班学生是补充,对转行者是补齐地基的现成清单。

3. 能接受英文课程、习惯自主查资料 列出的课程以英文公开课为主,配套作业、讲义、论坛也多为英文。网站本身是中文的,但学习过程绕不开英文阅读。

4. 想按主题查漏补缺 即使不从头学,也可以按“操作系统”“分布式系统”等板块定位到具体课程,当作选课参考。

不适合你的几种情况

  • 期望速成:这些是完整学期课程,不是几天能刷完的教程。想“三个月转行”的人会失望。
  • 需要教师督促:没有作业批改、没有考试压力、没有同学圈子,全靠自驱。网站自己也把“自学的坏处”单列出来讨论。
  • 完全零基础且英文吃力:虽然部分课程有中文字幕或中文社区笔记,但主线仍是英文材料,起步门槛不低。
  • 只想学某个具体工具或框架:它偏向计算机科学基础,不是前端/后端速成班。

怎么判断自己该不该用

可以用三个问题自测:

问题 是 否
我愿意每周固定投入时间跟完一门课吗? 适合 先别急
我能读懂英文讲义和课程页面吗? 适合 先补英语或找中文替代
我缺的是“学什么”而不是“怎么被逼着学”吗? 适合 需要的是学习社群或监督机制

三个都答“是”,这份指南值得你从“如何使用这本书”那一页开始读。有一个答“否”,可以先解决那个短板,再回来用它。

csdiy.wiki
CS自学指南