CS自学指南
简介
CS自学指南(地址:https://csdiy.wiki/)是一本计算机自学指南,也是作者对自己大学三年自学生涯的纪念,同时是一份献给北大信科学弟学妹们的礼物。本书目前版本为 v1.2.0(更新了深度生成模型学习路线),以开源免费的形式,帮助有志于自学计算机的朋友系统建立 CS 基础。
作者在大一寒假通过 UC Berkeley 的入门课 CS61A 开启了自学之路,后来自学一年多并担任《深入理解计算机系统》(CSAPP)助教,逐步整理出覆盖计科、智能系、软工系绝大多数课程的自学仓库,最终打造出这份“自学式的培养方案”。
主要内容
本书包含以下部分:
- 本书使用指南:根据不同人群的空闲时间和学习目标制定对应的使用指南。
- 一份供参考的 CS 学习规划:作者根据自学经历制定的全面、系统化的 CS 自学规划。
- 必学工具:介绍 CSer 效率工具,例如 IDE、翻墙、StackOverflow、Git、GitHub、Vim、LaTeX、GNU Make、Docker、工作流等。
- 经典书籍推荐:列举推荐各个计算机领域的必看好书与资源链接,如 CSAPP 等。
- 国内外高质量 CS 课程汇总:将上过及开源社区贡献的高质量国内外 CS 课程分门别类汇总,介绍课程内容特点并给出自学建议,大部分课程有独立仓库维护相关资源及作业实现。
- 分领域学习路线:涵盖数学基础、编程入门、数据结构与算法、软件工程、操作系统、计算机网络、数据库系统、编译原理、计算机图形学、Web开发、数据科学、人工智能、机器学习、深度学习等数十个方向。
自学的好处与坏处
好处
- 进度自由:可根据自己节奏调整速度,疑难知识点反复回看、谷歌或上 StackOverflow 提问;掌握较快的内容可倍速略过。
- 博采众长:核心课程可上不同大学课程,不同教材、侧重与 project 丰富视野、纠正误解。
- 时间自由:不用去上课,课余与疫情在家期间均可放飞自我安排。
坏处
- 沟通交流不便:面对屏幕无法即时向老师提问,建议结伴自学或参考交流群教程。
- 语言门槛:课程视频、课件、作业多为英文,需养成英文阅读习惯。
- 自律困难:没有 DDL,国外课程强度大,需强大驱动力忍受长时间 debug 与阅读。
适用场景
- 计算机小白:初入大学、对计算机一无所知者,可将本书作为攻略,用最少时间掌握所需知识能力。
- 有基础者:对特定领域感兴趣,可选择性挑选内容学习。
- 自学群体:本书类似按体验排序的课程搜索引擎,帮助足不出户体验世界顶级名校计算机优质课程。
其他说明
- 交流群:支持页面评论功能,可在对应课程页发表评论建群;也可在 issue 中查找已有群聊。
- 贡献方式:欢迎在项目中发起 Pull Request 或邮件(zhongyinmin@pku.edu.cn)分享其他领域自学经历。
- 支持作者:内容开源免费,可给仓库点 star 或请作者喝下午茶。
本书由 PKUFlyingPig 维护,采用 Material for MkDocs 构建。