课程中心-CSCC CS学习-从入门到精通

目录

(直接点击目录或链接)

     0. 导学规划

  1. 必学工具
    1. 攀爬技能
    2. 英语技能
    3. 网址大全
  2. 好书推荐
  3. 数学基础
  4. 数学进阶
  5. 物理基础
  6. 物理进阶
  7. 电子基础
  8. 电子进阶
  9. 编程基础
    1. Python语言
    2. C语言
    3. C++语言
    4. Java语言
    5. Rust语言
    6. 函数式语言
  10. 编程进阶
  11. 人文基础
  12. 数据结构与算法
  13. 软件工程
  14. 计算机系统基础
  15. 体系结构
  16. 操作系统
  17. 并行与分布式系统
  18. 计算机系统安全
  19. 计算机网络
  20. 数据库系统
  21. 编译原理
  22. 编译语言设计与分析
  23. 计算机图形学
  24. Web开发
  25. 数学科学
  26. 人工智能
  27. 机器学习
  28. 机器学习系统
  29. 深度学习
  30. 机器学习进阶
  31. 深度生成模型

 

前言

最近更新:

Release v1.2.0: 更新了深度生成模型学习路线 

Release v1.1.0: 已发布 

这是一本计算机的自学指南。

本书目前包括了以下部分(如果你有其他好的建议,或者想加入贡献者的行列:

  • 本书使用指南:由于书内涵盖资源众多,我根据不同人群的空闲时间和学习目标制定了对应的使用指南。
  • 一份供参考的 CS 学习规划:我根据自己的自学经历制定的全面的、系统化的 CS 自学规划。
  • 必学工具:一些 CSer 效率工具介绍,例如 IDE, 翻墙, StackOverflow, Git, GitHub, Vim, LaTeX, GNU Make, Docker, 工作流 等等。
  • 经典书籍推荐:你是否苦于教材的晦涩难懂不知所云?别从自己身上找原因了,可能只是教材写得太烂。看过 CSAPP 这本书的同学一定会感叹好书的重要,我将列举推荐各个计算机领域的必看好书与资源链接。
  • 国内外高质量 CS 课程汇总:我将把我上过的以及开源社区贡献的高质量的国内外 CS 课程分门别类进行汇总,介绍其课程内容特点并给出相应的自学建议,大部分课程都会有一个独立的仓库维护相关的资源以及作业实现供大家学习参考。

自学的好处

自学最大的好处就在于可以完全根据自己的进度来调整学习速度。对于一些疑难知识点,我可以反复回看视频,在网上谷歌相关的内容,上 StackOverflow 提问题,直到完全将它弄明白。而对于自己掌握得相对较快的内容,则可以两倍速甚至三倍速略过。

自学的另一大好处就是博采众长。计算机系的几大核心课程:体系、网络、操统、编译,每一门我基本都上过不同大学的课程,不同的教材、不同的知识点侧重、不同的 project 将会极大丰富你的视野,也会让你理解错误的一些内容得到及时纠正。

自学的第三个好处是时间自由。大学的课余时间本就相对自由,再加上不用去上课的话更是可以放飞自我地安排自学时间和进度。我大二的时候赶上疫情在家窝了大半年,返校之后也基本没有线下去过教室上课,对绩点也毫无影响。

自学的坏处

第一就是交流沟通的不便。

第二就是这些自学的课程基本都是英文的。

第三,也是我觉得最困难的一点,就是自律。

特别鸣谢

在这里,怀着崇敬之心真诚地感谢所有将课程资源无偿开源的各位教授们,以及csdiy.wiki。

请作者喝杯下午茶

本书的内容是完全开源免费的,如果你觉得该项目对你真的有帮助,可以给仓库点个 star 或者请作者喝一杯下午茶。

适合哪些同学

如果你已经本科毕业开始读研或者走上了工作岗位,亦或是从事着其他领域的工作想要利用业余时间转码,那么你也许并没有充足的业余时间来系统地学完 一份仅供参考的CS学习规划 里的内容,但又想弥补本科时期欠下的基础。考虑到这部分读者通常有一定的编程经验,入门课程没有必要再重复学习。而且从实用角度来说,由于工作的大体方向已经确定,确实没有太大必要对于每个计算机分支都有特别深入的研究,更应该侧重一些通用性的原则和技能。因此我结合自身经历,选取了个人感觉最重要也是质量最高的几门核心专业课,希望能更好地加深读者对计算机的理解。学完这些课程,无论你具从事的是什么工作,我相信你将不可能沦为一个普通的调包侠,而是对计算机的底层运行逻辑有更深入的了解。

 

2025.08.01

2025.06.01

Hot Search