计算机类专业自学课程路线 | 持续更新

发表时间:2021-01-30 21:07作者:司镜233

本文参考哈佛、MIT、斯坦福等众多名校的大学课程,总结出的一份学习路线,也是本站/公众号中计算机内容的导航篇,以后出的一系列文章都会与此相关,并加以深入。首先,依据我自身的大学课程、名校的课程规划对课程进行分类和排序,制定出简单明了的思维导图;然后对每一类、每一门课程进行学习方法的归纳,学习资源的收集,便于我自己和大家的学习;最后,也是一个长期的工作,我会将本文中提到的所有内容依次学习归纳并总结,然后录制成学习视频供大家参考。


熟悉我的人知道,我是一个信管人,专业的全称是“信息管理与信息系统”,所修的课程主要分为计算机类和管理类,所以本篇也会涉及很多管理方面的内容,如果是计算机的童鞋们可以自行跳过。


备注:

1、如果有需要或错误可以在评论区留言,我会做及时的补充、调整和更正。

2、学习群、联系合作方式在本站的“加入&合作”中已具体给出;公众号在每篇文章的小尾巴处可见。

3、本文中的课程,很多链接和资源会陆续补充。大家也可以自己找开放资源。

4、本文中所有的MIT课程参考

https://chenyuxiaodhr.github.io/zh-CN/CS-Learning/MIT-Challenge/

中给出的课程顺序

MIT挑战(如何在12个月内自学完成MIT计算机科学的33门课程_内附MIT公开课程资源和学习顺序) _ CdiajadeX's world.pdf




一、数学类

1、中学数学基础

如果你的小、初、高的数学基础非常薄弱,建议可以先转去复习or学习以前落下的内容。以高考数学试卷为标准,起码要考到90,也就是及格才可以。

小学:https://www.bilibili.com/video/BV1Ht411h7XK?spm_id_from=333.788.b_636f6d6d656e74.7

初中:https://www.bilibili.com/video/BV1yt41147s1?spm_id_from=333.788.b_636f6d6d656e74.7

高中:https://www.bilibili.com/video/BV1UQ4y1N73z

这三个超基础课程,如果有时间,会重新录制。


2、中学数学进阶

我们常常有一个疑惑,作为普通的学生,和那些少年天才有什么不同?单论数学方面,他们基本都会有一个学习奥数、参加数学类竞赛的过程。

下面这篇文档中,给出了竞赛相关的指导,如果有需要,可以参考学习:

高中数学竞赛书籍推荐.pdf



3、大学数学

【一元微积分】

【多元微积分】

【多维微积分】斯坦福课程

调试函数的梯度,反向传播以及机器学习,这些都是经常用到的。课程为向量微积分(工程师):https://www.coursera.org/learn/vector-calculus-engineers


【微分方程】

【计算机数学】MIT课程

图论、数论、证明、概率论、计算只是这门妙到毫巅的课程的一小部分。

【线性代数】

MIT课程

斯坦福课程:EE103:http://web.stanford.edu/class/ee103/


【概率系统分析】

MIT课程

斯坦福课程CS109:http://web.stanford.edu/class/cs109/


【逻辑学1】MIT课程

【逻辑学2】MIT课程

【模态逻辑】MIT课程


二、计算机类

1、编程语言

自学过程中,可以结合数据结构、算法类课程

【编程基础】斯坦福课程

课程为CS106B:http://web.stanford.edu/class/cs106b/

【汇编语言】

【C语言】

【C++】

【Java】

【Python】

【PHP】

【Golang】

......


2、基础课程

【计算理论】乔治城大学

【计算机体系结构】

【计算机系统】这门课的重点在于计算机的基础设计和构建,尤其是学习软件编译的时候,运行一个程序会发生什么,以及程序是如何在内存中运行的。课程为CS107:http://web.stanford.edu/class/cs107/


【数据结构】

【算法概论】斯坦福课程

这门课包含了计算机算法背后的数学和理论基础,比如最优搜索算法和动态编程,以及如何分析这些算法的内存和优缺点。课程为CS161:http://web.stanford.edu/class/cs161/


【算法简介】MIT课程

【算法的设计与分析】MIT课程

【编译器】斯坦福课程

主要是讲编译器背后的设计和理论,你学了之后,至少应该了解一个编译器是如何构建的,还有编译器的模块化组件,也需要了解。如果你对语义识别感兴趣,可以好好琢磨一下编译器的设计和传统的自然语言处理堆栈之间的相似之处,非常有趣。课程CS143:http://web.stanford.edu/class/cs143/


【计算机网络】

【计算机系统工程】MIT课程

【计算机组成】

【操作系统】斯坦福课程

课程CS140:http://web.stanford.edu/~ouster/cgi-bin/cs140

【数据库原理】

斯坦福课程CS145:https://cs145-fa19.github.io/

【数据库实践】

【并行计算】斯坦福课程

并行计算这门课会讲Apache Spark到GPU这些系统背后的原理,课程CS149:http://cs149.stanford.edu/fall19/


3、数据方向

【数据仓库】

【数据挖掘】斯坦福课程

大数据与数据挖掘,这门课涵盖了处理大型数据集的技术方法,会运用到推荐算法、聚类以及大规模的数据集计算与分析,要知道每天产生的数量还是比较大的。课程CS246:http://web.stanford.edu/class/cs246/


【大数据】


4、物联网方向


5、信息管理方向

【信息管理】

【信息检索】

【知识管理】

【高等电子商务】


6、人工智能方向

【人工智能概论】斯坦福课程

这门课包括了人工智能领域所运用的研究,比如搜索,游戏,逻辑以及图像还有机器学习算法的应用。课程CS221:https://stanford-cs221.github.io/spring2020/

【人工智能】MIT课程

【机器学习】斯坦福课程

监督学习和模型训练的概念,比如偏差、方差,正则化以及模型选择,这些内容看上去简单,实际上每个AI从业者天天都在用的。课程CS229:http://cs229.stanford.edu/

【凸优化】

这门课运用很广,比如统计学,机器学习,信号处理和其它使用凸优化的领域,虽然现在有不少问题都是非凸化的,但是你最好还是要懂背后的逻辑。课程EE364A:http://web.stanford.edu/class/ee364a/

【概率图模型】斯坦福课程

像CV和NLP就会经常用到,所以还是需要了解。课程CS228:https://cs.stanford.edu/~ermon/cs228/index.html

【自然语言处理】斯坦福课程

让机器懂得文本数据的理论和时间,而且还会在这门课里学到传统自然语言处理,老师会教如何用深度学习技术来处理这些。课程CS224N:http://web.stanford.edu/class/cs224n/


7、视觉方向

【计算机视觉】MIT课程

【计算机图形学】MIT课程

【基于CV的卷积神经网络】斯坦福课程

基本包含了深度学习背后的理论,比如CV模型就经常运用,只要学过人工智能课程的人,没错,是来自李飞飞教授的CS231N吧。课程CS231N:http://cs231n.stanford.edu/


8、网络安全方向

待更新


10、通信方向

【信号与系统】MIT课程

【通讯、信号与控制入门】MIT课程


11、软工方向

【软件构建基础】MIT课程



三、物理、化学、生物

这方面,不是我长项,我邀请我的大佬好友.......


结果,还是我自己整理吧~~~

【经典力学】MIT课程

【电磁学】MIT课程

【电子工程和计算机科学导论1】MIT课程

【基础化学】MIT课程

【生物学导论】MIT课程

【电子工程和计算机科学导论2】MIT课程

【电路与电子学】MIT课程

【计算结构】MIT课程

【电磁学及应用】MIT课程




四、管理类

【微观经济学原理】MIT课程

【宏观经济学原理】MIT课程

【管理学】

【会计学】

【财务管理】

【生产运作管理】

【产业组织学】MIT课程

【政府的产业条例】MIT课程

【教育经济学】MIT课程


五、文化类

待更新