视频课程怎么学:分步计划,让知识真正留下来
高效地学视频课程,就是把观看变成主动工作:课前先提出一个问题,每讲完一个语义单元就暂停并用自己的话复述,亲手写代码,课后马上不看提示地做一道题。课后第1天、第3天和第7天各复习一次,要靠回忆、修改和应用,而不是再看一遍。
简短回答:看视频只是开始
视频课本身并不能教会你什么。真正起作用的是你对它做的事:提问、暂停、复述、亲手写代码,以及不看提示完成的练习。如果看完课程就关掉页面,留下的只是“我看过”的感觉,而不是能力。
下面是一份把材料变成技能的实用计划。它分为三部分:课前、课中和课后。每一步只需几分钟,但合在一起,对结果的影响远大于多看一个小时的视频。
为什么普通观看没有用
大脑会长期保留那些它主动加工过的内容:你问过什么问题,应用过什么,把它和已知的东西联系起来过。被动听讲几乎不会带来这样的加工。信息进入短期记忆,很快就会消失。赫尔曼·艾宾浩斯在19世纪末研究过的遗忘曲线很好地说明了这一点:不复习的内容,在最初几小时和几天里忘得最快。
第二个陷阱是知识的错觉。讲师讲得很顺,屏幕上的代码看起来也很清楚,于是你以为自己全都懂了。实际上,大脑把“认出来”当成了“理解”。这就像研究了一张路线图,就以为已经认识这条路:到了现场才发现,很容易拐错弯。
所以,目标不是“多看几节课”,而是让每一节课都变得主动。下面的每一步,都是让大脑工作起来,而不是单纯接收信息。
第1步:课前用两分钟做准备
写下你想弄清楚的问题
读一下课程标题,然后问自己:这节课我想带走什么?比如讲排序的课,可以问“冒泡排序是怎么工作的,为什么慢”。把问题写下来。这时你看视频就不再是旁观者,而是在寻找答案的人,注意力会自然地落在重点上。
回想你已经知道的内容
花一分钟回忆上一节课或相关主题,会为新内容提供可以挂靠的“钩子”。如果什么都想不起来,这本身也是有用的信号:也许应该先复习前一讲。
清除干扰
同时做多件事是视频学习最大的陷阱之一。大脑做不到真正的并行处理:它在切换,而每次切换都要消耗注意力,重新深入进去需要时间。关掉即时通讯,关闭通知,不要在旁边开着新闻页面。一次只做一件事,一个视频。
第2步:把独白变成对话
视频是讲师的独白。你的任务是把它变成对话。观看时随时暂停并提问:为什么这里要这样做?如果改变这个条件会怎样?这个东西我在哪里见过?
一个很好的方法是预测。在讲师展示结果或代码运行输出之前,先停下来,试着猜接下来会发生什么。猜对了,说明理解已经巩固;猜错了,你会清楚地记住自己错在哪里,因为惊讶让这个时刻变得醒目。
第3步:在合适的位置暂停
暂停是你拥有、而现场听众没有的工具。要经常使用它。
- 在语义断点处。 讲师讲完一个想法、准备进入下一个时,这是最好的停顿位置。
- 每3–5分钟,如果看不出明显的断点。这样就不会积累没听懂的内容。
- 每个概念模块之后:一个新概念、一种新的语言结构、算法的一个新步骤。
频繁暂停能防止认知过载。新内容一个接一个地涌来时,工作记忆会被撑满,你甚至连眼下听到的内容都跟不上。暂停让你有时间消化这一块,再进入下一块。
第4步:暂停时做什么
单纯停下视频没有任何作用,关键在于你用什么来填补这段时间。下面是从简单到有力的几种实用做法。
用自己的话复述
不看屏幕,把刚听到的内容大声说出来或写下来。不要重复讲师的措辞,用你自己的说法。如果讲不通,这本身就是检验:你还没有理解。倒回去一分钟,重新看这一段。
记一份主动笔记
把幻灯片一字不差地抄下来,几乎没有用。每个模块记下三件事:
- 核心想法,用一两句你自己的话写出来。
- 材料中的一个具体例子:一段代码、一条命令或一个场景。
- 你自己的一个问题:没弄懂的地方,或者想验证的地方。
这样的笔记会迫使你加工材料,而第三条中的问题,之后正好可以成为练习和复习的素材。
做一个小练习
自己想一个小例子:换一组输入数据,换一个变量,或者考虑边界情况。先预测结果,再去验证。用五分钟做这样的练习,比再看十五分钟视频更有收获。
第5步:亲手写代码,不要复制
如果课程是关于编程的,就在自己的编辑器里跟着讲师写代码,但不要复制粘贴。自己敲,运行,观察报错。拼写错误、缩进不对、漏掉括号,这些都是学习的一部分:你由此知道错误长什么样,以及该怎么找到它。
更好的做法是先自己尝试写代码。当讲师提出问题时暂停,自己写出解法,然后再对照。即使你的解法跑不通,之后再看讲解时,你的眼光也会完全不同,因为你已经知道自己卡在哪里。
课程中的例子:讲完冒泡排序,马上自己实现它。学了面向对象的类,就从零创建自己的类,而不是照着屏幕上的那一个。讲完一条 SQL 查询,就对真实的数据库执行一条类似的查询。
第6步:课后立即闭环
只有理论、没有练习,无法形成技能。你可以背下全部交通规则,却从来没有坐上过驾驶座,依然不会开车。所以一节课不是在视频最后一秒结束的,而是在你把材料用上之后才算结束。
理论 → 实践 → 检验 → 技能
看完之后,趁材料还新鲜:
- 不看提示、不再回看视频,独立完成一两道与本课相关的题。
- 创建一个自己的例子,而不是讲师演示的那个。
- 把主题讲给别人听,或者假装在向新手解释。如果你能用简单的话讲清楚复杂的内容,那你就是真的理解了。这正是费曼学习法的思路。
- 回答你在课前和笔记里记下的问题。
如果有些地方做不出来,这并不是失败,而是准确的信息:告诉你该回看哪一段。
第7步:按计划复习
即使是练得很熟的一节课,时间一长也会忘。间隔重复,即以逐渐拉长的时间间隔回到材料,有助于把它转入长期记忆。对编程来说,三阶段的方案效果很好:
| 什么时候 | 做什么 | 排序的例子 |
|---|---|---|
| 第二天 | 凭记忆重写代码 | 不看参考,自己写一遍冒泡排序 |
| 几天之后 | 修改代码以适应新条件 | 改成降序排序 |
| 一周后及以后 | 用同样的原理解决一个新问题 | 按字段对一组对象排序 |
注意:每一次复习都是一个动作,而不是重新看一遍视频。复习就是回忆并应用,而不是再听一遍。
用日历做知识的版本控制
复习很容易被忘掉,所以课后马上把它们记进日历。对开发者来说,一个方便的类比是:每次复习都是向知识库提交一次 commit,而没有复习的材料就像未保存的修改,关掉编辑器就会丢失。
在日历里写具体的任务,而不是笼统的提醒。不要写“复习递归”,而要写“不看提示做两道递归题”。具体的动作更容易开始,也更容易检验。把相近的主题放在同一个复习块里,它们之间会形成联系,负担也更轻。学习时段可以用番茄工作法:25分钟学习,5分钟回顾结果。
常见错误及修正方法
| 错误 | 会发生什么 | 如何修正 |
|---|---|---|
| 一节接一节地连续看 | 有进步的错觉,但一天下来留下的很少 | 每节课之后先练习,再看下一节 |
| 加速播放,想“更快看完” | 没有时间加工,负担增加 | 可以加速,但暂停和复述必不可少 |
| 边看边做别的事 | 注意力分散,材料几乎没有被加工 | 一次只做一件事,关闭干扰 |
| 跳过练习 | “看过”没有变成“会做” | 课后至少完成一道不看提示的题 |
| 重看视频,而不是回忆 | 把认出来当成了知道 | 先回忆或凭记忆写出来,再对照 |
| 没弄懂就继续往下学 | 漏洞累积,新主题无法衔接 | 进入新主题前先检验是否理解 |
最后一条尤其重要。知识像拼图一样拼合:每个概念是一块碎片,缺了一块,整体就拼不起来。第三节课没弄懂的内容,到第十节课就成了一堵墙。
示例:按这份计划上一节课
假设一节课时长15分钟,可以这样安排:
- 2分钟:写下“我想弄清楚什么”,回想上一节课,关闭通知。
- 25–30分钟:看视频,每3–5分钟暂停;每次暂停都复述并记三行笔记;代码亲手敲。
- 15–20分钟:两道不看提示的题,一个自己的例子,大声讲一遍这个主题。
- 1分钟:在日历里安排三次复习,每次都有具体任务。
加起来大约一个小时看一个15分钟的视频。这很正常:时间花在了学习上,而不是单纯观看。一周之后,你能自己写出代码,而不是只记得“好像讲过这个”。
总结
要想从视频课程中真正学到东西,就带着问题去看,每个语义单元之后暂停,用自己的话复述,亲手写代码,课后立即不看提示做题,并按计划复习:第二天、几天之后、一周之后各一次。核心原则是:视频是素材,只有当你亲自动手去做时,知识才会出现。
这些方法在课程的入门讲座中有详细讲解,并附有编程示例:《如何高效地学习视频课程》。
常见问题
可以用加速播放看视频课程吗?
如果内容比较熟悉,或者讲师语速慢,可以。但加速并不能取消暂停、复述和练习。没有这些,快速观看只会更快地制造知识的错觉。
每天学多少节课比较合适?
以你能用练习巩固的数量为准。学一节并做好练习和复习,远好过连续看五节却没有写过一行自己的代码。
如果忘了什么,要把整节课重看一遍吗?
通常不用。先尝试回忆并凭记忆写出来,只重看卡住的那一段。
手写笔记和在编辑器里做笔记,哪个更有效?
关键不在工具,而在内容。只要每条笔记都是用自己的话写的核心想法、一个例子和一个问题,就有效;如果只是抄幻灯片,就没有效果。
如果课后解不出题怎么办?
这是学习的正常部分:你找到了知识的漏洞。确定是哪一步做不出来,回看那一段,过几个小时再试一次。