课程是一个很微妙的术语,本页面中的课程包括:
- 你需要学习,取得好成绩,不得不做的事情
- 你想学着玩,觉得这很酷,也可能想「磨练实力」,这类更微妙
我也曾经是CSDIY狂热粉丝,学了CS61A/B/C等初级课程,这确实磨练了我的比较微妙的基础素养,但在这个过程中,我过度闭门造车,并且缺乏类似CSDIY作者所处的同辈一块学的支持环境中,所以取得的世俗成功不尽人意,在大三大四,我仍然保持对这些课程的热爱,但时间安排上,更加倾向于去现实世界迭代。用我很喜欢的一篇文章来概括:
"如果你不是计算机类专业的学生(泛指),在课余时间想自学这些东西,难度很大,因为这些恰恰是需要投入大量静下心的时间才能学好的东西,而各种压力往往会逼着你没法真正投入这些东西中;如果你是计算机类专业的学生,某种意义上事情更坏,当你发现身边的同学靠背书和刷题库就能取得满绩点的科目,而你花了大量力气去拜读各位“大神”推荐的国外经典课程与原版图书,做了一堆实验,结果取得的分数只是堪堪能够过目,这种挫败感是难以言喻的。"
...
所以偏题许久之后又回到问题上来,真的有什么学科是建议在本科阶段学掉的吗?我的回答是没有,或者说没有多少。按照自己的兴趣,照着一个方向去学,总是能在某个阶段产生一些概念上的见解与抽象。其实关键是有这个方向,而不是无头苍蝇一样乱飞。也不要人云亦云照着一份长长的砖头书单一本本去啃,如果你并不知道这有什么意义,不知道为什么啃他们,不知道它们的重要性在哪里,其实意义并不太大,你读了也会很快忘掉。比如你大一就认准自己要往人工智能方向发展,那好,首先你得把微积分和线性代数学好,然后了解一些基本的统计机器学习知识,再把各大主流模型的思路看一遍,上手一些代码,然后去读一些论文,就此向其中深入,思考已有的对模型的改进是基于哪些思路,你又有哪些可以入手的地方。抽象与概念自然会在这条路径上被提炼出来。
说了这么多,以下是我的课程学习记录: