感觉全都懂了,却复现不出来:原因与对策
“感觉都懂了却复现不出来”,是理解的假象:看视频时,大脑识别出熟悉的内容,并把识别误当成理解。解决办法是课后马上不看提示地检验自己:用自己的话复述,凭记忆写代码,解答一道题,并把主题讲给新手听。
这不是你的问题,而是理解的假象
你一定遇到过这种情况:看完一节课,每一步都很合理,讲师写的代码看起来一目了然。打开编辑器想自己写一遍,却不知道从哪里开始。如果你觉得自己“全都懂了,却做不出来”,这不说明能力差。这是理解的假象,几乎每个看视频学习的人都会遇到。
原因在于:看视频时你是在识别材料,而复现需要你把它重新做出来。这是两种不同的能力,被动观看只训练了前者。
症状
- 课上一切都很清楚,但一个小时后已经说不清它的要点。
- 屏幕上的代码看起来很明显,但从零写不出来。
- 课后的题目看上去和讲的内容无关,其实恰恰就是那个内容。
- 重看时会想“嗯,这个我会”,然后依然什么都没留下。
- 看过很多课,实际做事时却总要回去翻视频。
原因:认出来不等于理解
什么是识别
识别就是材料摆在眼前时,你能说“我见过这个”。它很容易发生:如果讲师讲得流畅,而你跟得上思路,每一步都会显得自然。大脑发出“熟悉”的信号,而这种感觉很容易被当成知道。
什么是复现
复现是不借助提示,从记忆中取出知识并加以应用:写出代码,解释步骤,解决一道新题。这时没有可以依靠的东西,课上到底留下了什么,立刻就能看出来。而这正是实际考试、工作中需要的能力。
一个很好的类比是路线图。看着它,你很确定自己认得路。但在现场,你必须自己决定在哪里拐弯,这时才发现,记住的只是大致的样子。
为什么视频课程会加重这个问题
- 没有反馈。 视频不会问你“为什么这样?”,也不会让你重做一遍。漏洞就这样没被发现。
- 只有现成的解法。 你只看到正确的路径,看不到每个解题的人都会经历的弯路和错误。
- 很容易连续看下去。 下一节会自动开始,材料来不及被消化。
- 遗忘很快。 被动获得的信息留在短期记忆里。艾宾浩斯的遗忘曲线表明,不复习的内容在学习之后立刻就会大量流失。
如何检验自己:5个测试
所有测试都在不看视频、不看笔记的情况下进行。只要有一项通不过,就找到了一个漏洞。这是个好消息:现在你清楚该补哪里。
1. 用自己的话复述
合上课程,把它的要点大声说出来或写下来,不要重复讲师的措辞。如果你只能说出“讲的好像是排序”,说明还没有真正理解。
2. 凭记忆写代码
不看参考,从零写出课上的例子。运行它。如果卡住了,记下卡在哪一步,这就是漏洞的准确位置。
3. 修改后的题目
改变条件:换数据,倒过来的顺序,或者边界情况,比如空列表。如果你理解了原理,改动并不难;如果你只记住了那个具体的例子,就做不出来。
4. 向新手解释(费曼学习法)
把这个主题讲给一个没有准备的人听。你开始躲在术语后面,或者说“就是这样运行的”,这些地方就是你没理解的地方。
5. 延迟检验
第二天再做一次测试2。如果昨天做得出来,今天做不出来,说明知识还没有稳固,需要复习。
怎么做:把“懂了”变成“会做”
课中
- 每讲完一个语义单元,或每隔3–5分钟暂停一次,用自己的话复述这一块。
- 在讲师展示解法之前,先尝试自己写。即使写错,也会让之后的讲解更容易理解。
- 亲手输入代码,不要复制。
- 记一份简短的笔记:核心想法用自己的话写出来,一个例子,一个问题。
课后马上
- 不看提示做一道相关的题。
- 创建自己的例子,而不是看到的那一个。
- 如果有些地方没做出来,只重看那一段,而不是整节课。
接下来的几天
| 什么时候 | 做什么 |
|---|---|
| 第二天 | 凭记忆复现代码或图示 |
| 几天之后 | 修改代码以适应新条件 |
| 一周之后 | 用同一原理解决一个新题 |
复习是回忆和应用,而不是重看。重看视频会再次训练识别,又一次制造理解的假象。
示例:实际中是什么样子
你看了一节讲冒泡排序的课。一切都很清楚:相邻元素两两比较,较大的元素冒到末尾,两层嵌套的循环。你打开编辑器,写到第三行就停住了:内层循环的边界是什么?什么时候交换元素?第二层循环到底需不需要?
这就是识别和复现的区别。你认出了这个思路,但代码能不能运行所依赖的细节,并没有在你的记忆中固定下来,因为没有人让你去回忆它们。好消息是,卡住的地方恰好指出了漏洞。只重看关于循环边界的那一段,合上视频,再把代码重写一遍。然后用几种输入验证:空列表、只有一个元素的列表、已经排好序的数组。
第二天,再凭记忆写一遍排序;几天之后,把它改成降序。经过这样的循环,算法就不再是“看起来熟悉”的东西,而变成了你自己的。
为什么理解的假象如此有说服力
理解的感觉来自轻松。当材料讲得很好、逻辑清晰时,它很容易被接受,大脑就把这种轻松当成了已经掌握的证据。讲师越好,这种效果越强:精彩的讲解让观看变得舒适,但并不能替你完成加工材料的工作。
所以不能依赖“看起来懂了”的感觉。可靠的标准只有一个:不借助提示,你能做到什么?如果测试能通过,说明确实理解了,即使学起来很吃力;如果通不过,无论讲得多清楚,理解都还没有到位。
如果即使重看也做不出来
有时漏洞不在当前这节课,而在前面的课。如果这个主题依赖于你没有巩固的概念,新的材料就无处安放。这时要退一步:用同样的“凭记忆”测试去检查前置主题。通常十五分钟复习前面的课,就能解决你为之苦恼一个小时的问题。
不要做的事
- 不要立刻把整节课重看一遍。 第二次被动观看会带来同样的“都懂了”的感觉,也得到同样的结果。
- 不要带着没懂的内容继续往下学。 知识像拼图一样拼合:今天漏掉的一块,几节课之后就会变成看不懂的主题。
- 不要边看边做别的事。 多任务会分散注意力,材料得不到加工。
- 不要因此断定自己能力不行。 “我看了却复现不出来”是方法的问题,不是头脑的问题。换一种方法,一节课之内就能看到变化。
总结
如果你觉得全都懂了却做不出来,说明课程训练的是识别,而不是复现。识别在观看时自然发生,而复现只有在你从记忆中取出知识并加以应用时才会发生。课后马上不看提示地检验自己,亲手写代码,把概念讲给别人听,并按计划复习,“懂了”就会变成“会做”。
关于理解的假象以及如何避开它,在关于高效学习视频课程的入门讲座中有详细讲解。
常见问题
第二天什么都记不住,正常吗?
正常。没有复习,材料在头几天忘得最快。所以第一次复习最好安排在第二天:凭记忆写一遍。
多次重看视频有帮助吗?
帮助很小。重看又会训练识别。先尝试回忆并亲手做,只重看卡住的那一段。
为什么工作或面试时用不上学过的东西?
那些场合要求不借助提示地复现,而被动学习只训练了识别。不看视频做题,并把主题讲出声来,更接近真实情况。
怎么判断自己是真的懂了这个主题?
如果你能用简单的话把它讲给新手听,能从零写出一个例子,并能解决一道改动过的题,且不借助提示,就说明理解了。