文 | PKUFlyingPig,智商掉了一地
编 | 小轶
小编记:从上周开始,一篇 github 博客就在北大同学的朋友圈之间刷屏。不到一周时间,已收获了 1.8 k stars。这是一篇来自一位北大学弟的博客——“CS自学指南”,一份自学式 cs 培养方案。值得一提的是,这份自学方案完美覆盖了北大信科培养方案中的所有课程,给出了学校培养方案的网课自学替代版。为每一门课程,作者都给出了相应的推荐网课和学习工具,并另外提供单独的 Github 仓库,汇总了他学习这门课时所用到的自学资料以及作业实现。
![1fb878885658eb6b3681e67a31cb19c3.png](https://i-blog.csdnimg.cn/blog_migrate/1a6064b50b401d8f5aaee4fa7489a061.png)
今天要推荐的这份“CS自学指南”的作者通过本科期间三年的努力,学习了大量的 CS 网课。在“指南”中所推荐的,都是其中最为优质的课程,也是他曾亲身走过的自学之路。如果能够学习完“指南”中所提及的全部课程,便可建立起一座扎实的 CS 基础大厦,拥有相对扎实的数学功底和代码能力,经历过数十个千行代码量的 Project 的洗礼,掌握至少 C/C++/Java/JS/Python/Go 等主流语言,对算法、电路、体系、网络、操统、编译、人工智能、机器学习、计算机视觉、自然语言处理、强化学习、密码学、信息论、博弈论、数值分析、统计学、分布式、数据库、图形学、Web开发、云服务、超算等各方面均有涉猎。我想,你将有足够的底气和自信选择自己感兴趣的方向,无论是就业还是科研,都可具备相当的竞争力。
有感于学弟乐于分享,以及改善国内 cs 学习大环境的初衷,我希望能有更多的人看到这份博客并受益,故在此推荐给卖萌屋的各位读者。以下是学弟在原博客中的一些文字,我们摘录于此,与各位分享。
博客链接(可点击文末“阅读原文”,跳转到博客):
https://csdiy.wiki/
关于自学![7af24fa2c8800a1a02cee396dfa4e6bd.png](https://i-blog.csdnimg.cn/blog_migrate/3a989c0bdfb0563e38b046afb571d7cc.png)
自学的好处
对我来说,自学最大的好处就在于可以完全根据自己的进度来调整学习速度。 对于一些疑难知识点,我可以反复回看视频,在网上谷歌相关的内容,上StackOverflow提问题,直到完全将它弄明白。而对于自己掌握得相对较快的内容,则可以两倍速甚至三倍速略过。
自学的另一大好处就是博采众长。 计算机系的几大核心课程:体系、网络、操统、编译,每一门我基本都上过不同大学的课程,不同的教材、不同的知识点侧重、不同的project将会极大丰富你的视野,也会让你理解错误的一些内容得到及时纠正。
自学的第三个好处是时间自由。
自学的弊端
当然,作为CS自学主义的忠实拥趸者,我不得不承认自学也有它的坏处。
第一,交流沟通的不便。 我其实是一个很热衷于提问的人,对于所有没有弄明白的点,我都喜欢穷追到底。但当你面对着屏幕听到老师讲了一个你没明白的知识点的时候,你无法顺着网线到另一端向老师问个明白。我努力通过独立思考和善用Google来缓解这一点,但是,如果能有几个志同道合的伙伴结伴自学,那将是极好的。关于交流群的建立,大家可以参考仓库README中的教程。
第二,这些自学的课程基本都是英文的。 从视频到slides到作业全是英文,所以有一定的门槛。不过我觉得这个挑战如果你克服了的话对你是极为有利的。因为在当下,虽然我很不情愿,但也不得不承认,在计算机领域,很多优质的文档、论坛、网站都是全英文的。养成英文阅读的习惯,在赤旗插遍世界之前,还是有一定好处的(狗头保命)。
第三,也是我觉得最困难的一点,就是自律。 因为没有DDL有时候真的是一件可怕的事情,特别是随着学习的深入,国外的很多课程是相当虐的。你得有足够的驱动力强迫自己静下心来,阅读几十页的Project Handout,理解上千行的代码框架,忍受数个小时的debug时光。而这一切,没有学分,没有绩点,没有老师,没有同学,只有一个信念——你在变强。
一些感想...![3011b5a33c5ec8663e6a18b39a545fee.png](https://i-blog.csdnimg.cn/blog_migrate/c8579fe5715f4aa2e753db5b0bbbe64c.png)
我只是个籍籍无名的本科生,一个单纯的求学者。我的目标只是想快乐地、自由地、高质量地掌握那些专业知识。从最初的想法开始,到断断续续完成这本书,再到引起热烈反响,我很激动,但也五味杂陈。
原来在诸多高校中也有那么多人,对自己的本科生涯的专业学习并不满意。而这里,囊括了中国非常优秀的一帮年轻人。看到这些,我感到不甘心。不甘心这些通过高考战胜无数人进入高校的学子本可以收获一个更为充实的本科生涯,但却未能如愿。
我反问自己,教育究竟应该是什么?是学完所有这些课程吗?倒也未必,它也许只适合我这种 nerd。但我觉得科教育至少得展现它应有的诚意,一种分享知识的诚意,一种以人为本的诚意。它至少不应该是一种恶意,一种拼比知识的恶意,一种胜者为王的恶意,一种让人学无所得的恶意。
国内 CS 教育任重而道远,但这份责任并不只在于各大高校的肩上。我在这里分享的所有课程,皆是放眼全球范围内最为优质的课程。如果要求所有国内高校的所有课程都可以与之比肩,或许也有些强人所难。我相信只要怀着以人为本的育人之心,国内高校定会越来越好。当然,这需要一个过程。
在我看来,能推进国内 CS 学习环境的,不只是各大高校,也可以是你,是我,是每一个乐于分享的求学者。我只知道我做了应该做的事情,读者的关注量和回帖数证明了这样一份资料是有价值的。也许这样的改变微乎其微,但别忘了我只是中国几百万高校生中的一份子。如果有更多的人站出来,每个人做一点点,也许是分享一个帖子,也许是当一门课的助教,也许是精心设计一门课的lab,更或许是将来获得教职之后开设一门高质量的课程,出版一本经典的教材。
教育真的有什么技术壁垒吗?我看未必,教育靠的是诚意。
一起交流
想和你一起学习进步!『NewBeeNLP』目前已经建立了多个不同方向交流群(机器学习 / 深度学习 / 自然语言处理 / 搜索推荐 / 图网络 / 面试交流 / 等),名额有限,赶紧添加下方微信加入一起讨论交流吧!(注意一定o要备注信息才能通过)
- END -
![fcbf166d946718cd876ff635c48d7c69.png](https://i-blog.csdnimg.cn/blog_migrate/2ddbc28bdd38d0ffced13d77549b6569.png)
![6c687631301820a87ba3adfed0eab959.png](https://i-blog.csdnimg.cn/blog_migrate/0d91ce0318ebbf6e29f7bee942a32592.png)
![a8b4121eb3063dbee73f533e36a31a0b.png](https://i-blog.csdnimg.cn/blog_migrate/7b71a168f35c789fe79f3fe160b577d6.png)
Facebook:亿级向量相似度检索库Faiss 原理+应用
![4c83baf45962e3036fd5d1eef65a02d4.png](https://i-blog.csdnimg.cn/blog_migrate/14c7d883a69b64093b265fbcaf280114.png)