Note:本页面的食用方式如下:

1. 课程模块主要由 教材(电子书/网页文档)幻灯片课程主页(网址)csdiy课程信息页课程录播视频 五个要素组成,由于不同课程的差异以及资源碎片化的特性,上述五个要素一般不会同时出现,当然,也有可能你可以在一个汇总性的要素中找到其他的要素。各个要素会按照我个人认为的权重进行排序。例如,在 CS61A 中,精读课程的部分内容对我来说是合理的,那么我便将 课程主页csdiy课程信息页 这类汇总性较强的要素排在前面;而对于 CS106L 而言,仅仅需要阅读课程教材及幻灯片就能很大程度上掌握课程的主要内容,以及当下我只希望快速通读一下这个课程的主要内容,那么我就将 教材幻灯片 置前。

2. 进阶理论:大部分进阶理论不是处于技术闭源的状态就是只能通过原始学术论文了解,该模块的内容除去部分科普性的资料,大部分是晦涩难懂的。但可以肯定的是,所有的进阶理论都有它们对应的基础依赖。

# 课程 / 基础理论

# 学习社区 / 学习资源集群

# csdiy(CS 自学指南)

北大学长基于自己的自学历程打造的教科书级别的自学指南,在 github 上有超 60k 的 star。项目中云集了全球各个顶尖大学的计算机开源课程,及其附属资料。不过由于课程更迭,有些课程的附属资料会出现缺失的情况,但评论区里总会有大佬为课程内容做资源备份,所以在搜集课程资料时,搭配评论区食用更佳。

# w3school

国外一个专为程序员打造的技术栈学习平台,内容分为 HTML & CSSData AnalyticsJavaScriptWeb BuildingBackend 五大模块,主要讲解各个技术栈使用的编程语言的基础语法技术框架基础。各教程采用文档型的方法将各技术栈的特性逐个列出,并加以简化描述。形式上类似于国内的菜鸟教程,但前者在内容上更加精简,适合用于在毫无基础的情况下速通技术栈的常用基础特性。

# tutorials point

形式上与菜鸟教程w3school 没有区别,但涵盖的技术种类比前两者都要丰富,甚至还有数学模块。与 w3school 一样为境外资源。

# 编程入门

# MIT-missing-semester: The Missing Semester of Your CS Education

课程简述:课程主要传授在大学课堂上几乎不会涉及但对于 cs 学习无比重要的工具或零散知识点。例如 shell、Git(版本控制)等

# CS61A: Structure and Interpretation of Computer Programs

课程简述:伯克利 CS61 系列的第一门课程,使用 python 作为课程的编程语言。强调抽象,让学生掌握用程序来解决实际问题,而不关注底层的硬件细节。oop(面向对象编程)入门利器。

# C++ Tutorial - w3school

课程简述:这个就没什么好说的了,就是单纯的文档型教程,与国内的菜鸟教程类似,但在重点讲解上显然要精简得多。对 C 的各种特性毫无概念时可以参考这个教程,可以在短时间内建立起对 C 的初步了解,随后即可通过 CS106L 深入了解 C++ 的各种特性及其运用。

课程简述:这门课会深入到很多标准 C++ 的特性和语法,让你编写出高质量的 C++ 代码。例如 auto binding, uniform initialization, lambda function, move semantics,RAII 等技巧。这门课并不难,但是信息量很大,需要在之后的开发实践中反复巩固,因此正好适合正在钻研 C++ 工程的我。

# 进阶理论

# 工程理论

# GPU 工作原理

模块简述:GPU 是现代计算机上一个重要的处理模块,主要用于诸如图形学计算、深度学习等对并行计算性能要求较高的计算领域。需要注意的是,GPU 与人们口中常说的显卡是两个概念,前者是一个处理芯片,后者是一个完整、独立的计算机部件。

基础依赖计算机体系结构计算机组成原理