目录

PKUFlyingPig/cs-self-learning:74K stars 的计算机自学指南到底有什么

PKUFlyingPig/cs-self-learning:74K stars 的计算机自学指南到底有什么

一句话判断

cs-self-learning 不是项目,是一本开源电子书——作者 PKUFlyingPig 用四年大学自学经验,把"计算机每个领域该读什么课、什么书、什么视频"整理成可在线阅读的 csdiy.wiki。74K stars 说明它的覆盖面和可信度已经在中文 CS 自学圈子里被广泛认可,但它不是教学资源本身,而是资源的元索引

项目定位

  • 仓库PKUFlyingPig/cs-self-learning,MIT 协议(作者撰写部分)
  • GitHub Stars:74.1K,Forks 7.9K(2026-02-24 数据;项目稳定期,commit 频率不高)
  • 主语言:HTML(说明核心载体是 mkdocs 站点)
  • 在线阅读csdiy.wiki(中文)/ csdiy.wiki/en(英文)
  • 目标读者:刚接触计算机的小白、想转码的非科班、社招转 CS 的工程师

系统地图

仓库的 mkdocs 站点按 CS 子领域组织:

模块内容
CS 学习规划2-3 年成长路径的整体框架
数学基础微积分 / 线性代数 / 概率 / 离散
编程语言C/C++/Java/JS/Python/Go/Rust 等主流语言推荐路径
算法与数据结构经典教材 + 在线课程 + 题单
体系结构 / 网络 / 操统 / 编译系统方向四大基石
人工智能 / 机器学习 / CV / NLP / RLAI 全栈
密码学 / 信息论 / 博弈论数学横切
分布式 / 数据库 / 云服务 / 超算后端方向
图形学 / Web 开发应用方向
好书推荐各领域必读教材清单
海外申请 / 找工作 / 实习实用导向内容

每一节的核心模式是相同的:

  1. 课程:列 1-3 门经典课程(带 MIT OCW / Coursera / B 站链接)
  2. 教材:列 1-2 本经典教材(带 ISBN / 豆瓣评分)
  3. 视频:列 1-2 个 B 站 / YouTube 视频路径
  4. 配套项目:列 1-2 个千行代码量级的 Project 题目
  5. 学习群:评论区自建的 QQ / 微信群链接

这套模板的关键是作者不写教程本身,而是给资源的元数据——他要解决的是"面对这么多资源我应该选哪一个"的选择困难症。

关键机制拆解

1. mkdocs 站点而非 GitHub Wiki

作者用 mkdocs 把 markdown 渲染成静态站点,部署到 csdiy.wiki。这意味着:

  • 读者:访问网站,搜索体验好、版式可读
  • 作者:用 markdown 写内容,PR(Pull Request,合并请求)审阅门槛低
  • 协作:pull request 可以基于章节做小粒度修改,而不必动整个文档

对比 GitHub Wiki 的方案,mkdocs 的优势是版本化、PR-friendly、可搜索

2. 中英双语

README 明确"本书支持英文版,因此贡献的内容需要提供对应的英文翻译"。双语同步意味着:

  • 中文小白可以直接读
  • 海外申请 / 留学场景可以给招生官看英文版
  • 国际贡献者可以 PR 英文部分,再由中文社区翻译(参考 issue #222 的流程)

3. PR 友好的结构

每一节都用 mkdocs.yml 注册导航 + template.md 提供模板。这意味着贡献者只需要:

  1. 在 docs/ 对应目录下加一个 markdown 文件
  2. 在 mkdocs.yml 加 navigation
  3. 如果是 CS 学习规划里的模块,在规划文件里加导语
  4. 提交 PR

模板化的好处是贡献者只需要懂内容,不需要懂排版。这种设计对一个长期维护的社区项目至关重要——降低贡献门槛就是延长项目寿命。

4. 评论 + 自建群聊

README 提到"本书支持页面评论功能,因此如果你想自学某课程,可以自己建立群聊后在对应的课程页面下方发表评论"。这种"每节配套群聊"的模式让读者在读到某节时可以立刻找到同类学习者。这是 GitHub 项目 README 没法提供的"垂直社区"。

适用人群

  • 计算机小白:刚接触编程,需要一个"路径图"而不是"具体教程"
  • 转码 / 非科班:想系统补 CS 基础的人
  • CS 在校生:想横向扩展到其他子领域的人
  • 海外申请者:需要给招生官一个"自学 + 项目"的清单

不适合谁

  • 追求"读完就成大神"的人:这是路径图,不是教程本身,每个推荐的课程依然要花时间读
  • 只想要一两个项目模板的人:每个领域的 Project 题目需要自己消化,不是"开箱即用的代码"
  • 不愿读英文一手材料的人:作者推荐的核心教材 / 课程大部分是英文,中文译本是辅助

仓库地址

https://github.com/PKUFlyingPig/cs-self-learning

阅读路径建议

  1. 先读 README 的"目标"段,确认自己的成长路径和作者一致
  2. 打开 csdiy.wiki 在线浏览,从"CS 学习规划"开始看总图
  3. 选一个你当前正在学的领域(算法 / AI / 系统),看对应的章节,参考推荐的课 + 书 + 视频组合
  4. 如果你有补充 / 修正,按 template.md 的格式提 PR,贡献给社区