本文谈及了我对于几种学习方法的看法。

系统学习

系统学习,是我们最常用的学习方式了。系统学习是指系统地将一个知识体系的各个方面,依照着某本教材,某套教程,或是某个老师的讲解,一一吸收学习,从而对该事物形成较为全面的认知。在这一过程之后,我们往往还不能做到十分扎实地掌握这个知识体系的每一个细节,于是我们要通过进一步的复习,以及进一步在实践中的运用,来完成对知识的完全掌握。

一般来说,我们学生学习一门课程(不管是正常地学习还是考前突击),用的是系统学习法。在我看来,这种方法的好处就有:

  • 可以对知识体系形成比较清晰的整体认知,这对于理解概念、把握主次都有帮助;同时也更容易对该知识体系产生更深刻的认识。
  • 一般来说,通过系统学习学来的知识不太容易有遗漏,即使有薄弱的地方,也会有一定印象,需要用到它们时可以很快找到对应章节进行回顾。
  • 系统学习由于有老师或课本的引导,通常所选取的是学习该知识体系的较优顺序,能提高学习的效率;同时在对于各个知识点的深入程度和训练强度的把握上也能更加合理,从而做到事半功倍。
  • 系统学习的方法,一般也被认为是学习知识的最佳方法。它当然也有缺点,那就是急功近利、心浮气躁之人难以坚持走完整个学习过程。

拾遗学习

拾遗学习,是指在进行一些与某个知识体系有关的工作时,每当发现自己对于一个知识点不能理解,就查阅相关的资料、请教学过相关知识的人员,在多次遇到知识盲点后重复该过程,最终形成对该知识体系的整体感知,从而基本掌握知识的过程。

拾遗学习的例子可以有很多。比如说,初中学历的物理爱好者小张,在生活中对于肉眼可见的一些物理现象特别好奇,于是通过翻阅书本、搜索百科、请教他人的方式了解到了这些现象背后的原理。但是在这一过程中,他没有踏踏实实地看过一本数学教材,物理教材也是被当成字典一样查询。在最后,小张通过多年的积累,了解到了大多数生活现象的物理原理,对力学、电磁学、光学、声学、热力学等方面的知识均有积累,这时我们可以认为,小张的物理学知识是通过拾遗学习学会的。

又或者说,天文系的同学阿强,由于成绩优异,获取了研究生推免资格,并且出于对前途的考虑保研到了计算机学院。当导师让他开始做项目时,他只有c语言基础,但是阿强十分好学。阿强根据计算机系同学的建议,购买了全套计算机科学与技术专业课教材,并且只要遇到自己不会的东西,就会查阅相关的教材,并且学到能够运用的地步。勤奋而聪明的阿强在跟随导师做几个项目的过程中,逐渐习得了不少关于数据结构、算法、编译器、操作系统、数据库、计算机网络、计算机组成等方面的知识,只是他的知识大多是东拼西凑。我们可以认为,阿强的计算机知识是通过拾遗学习学会的。

拾遗学习的缺陷是十分明显的,例如:

  • 通过拾遗学习习得的知识体系往往很不牢固,充满漏洞,往往会有那种在遇到之前都不知其为何物的知识盲区。例如阿强可能在做的前几个项目中完全没有用到过哈希表的知识,这就成为了他对于数据结构知识的一个缺口。
  • 有时通过拾遗学习习得的知识,是没有一些基础性知识的支撑的,这会导致学习者无法用知识去解决稍微深入一点的问题。例如小张虽然自认为自己深谙万物运动之道,将牛顿第二定律熟记于心,但是他完全没有微积分基础,更是不知道微分方程为何物,那么遇到力随时变、力随速度变的问题,他就会束手无策了。
  • 拾遗学习通常会走更多弯路。因为在你去拾遗某一具体的知识点时,由于缺少对于与其关联的其它知识点的了解,你可能要花更久的时间去掌握它,甚至无法掌握它。
  • 那么拾遗学习有什么优点吗?也有,那就是我们在拾遗学习时,通常是所学即所用,这样学习的动力通常更加强烈。很多时候,正是因为本应该系统学习时我们没有系统地掌握知识,才被迫在需要用到它的时候来拾遗学习的。

递归学习

递归学习是一种十分不同寻常的学习方法,以至于我质疑它到底能不能算是一种学习方法。递归学习就是指,对于一个不熟悉领域的陌生概念,去直接(在Internet上)查询它的定义、解释;这些定义、解释往往仍然会用到你不懂的很多名词,那么对于它们,继续去查询;抱着一种锲而不舍的精神,去不断地递归这一过程,循环往复地学习上一个概念所用到的概念,直到彻底地搞清楚最开始想搞懂的概念。

这种学习方法需要强烈的求知欲与恐怖的执行力,因为我相信一般人在递归两到三次之后就晕了。我第一次看到这种学习观点是在知乎上,一个答主说,他为了透彻地搞清楚学python时的一些疑惑,去学习c;为了完全搞明白c又去学习汇编语言;为了弄明白汇编而学习计算机体系结构,微机原理;为了弄清楚这些东西去学习电路基础,模拟电路,数字电路;而为了弄清楚电路,又去学习固体物理;为了彻底搞懂固体物理,又去学习统计力学……(细节上可能有偏差)。虽然不排除这个答主有一些吹牛的成分在里面,但是这样一轮下来(假设是老老实实搞明白了每个环节),他该学到了多少知识啊!他对于python的理解又会有多透彻啊!虽然我们很难将统计力学的知识直接和python联系起来,但是如果谈及对python的一些知识的理解时,他便可以滔滔不绝地从c一直讲到玻色子。

递归学习的这种思想我们偶尔也会用到,尤其是在自己独立解决电脑问题、去上网查资料时。我相信,查资料时递归层数越深、每次递归学得越仔细,就越容易成为修电脑大神。

但是,如果真正用它去学东西,那我们很可能没有足够的动力与行动力。毕竟python程序员很多都不会,也没有必要去学习pn结。递归学习,在更多时候,还是作为一种参考思想,来指导我们如何拓宽知识面的。

我对于自己的反思

我在对于非课程知识的学习过程中,甚至是对于某些课程学习的自学过程中,正是太缺少执行力,太过于依赖拾遗学习,而没有静下心来进行系统学习,所以导致学艺不精、基础不劳。我想,有必要对我的学习习惯进行一些调整了。我目前正在进行的主要学习任务之一,就是系统地自学《信号与系统》这门课的知识,希望踏实而系统的学习能给我今后的工作带来更多帮助。