这篇针对格雷格·威尔逊(Greg Wilson)的《一起教技术(Teaching Tech Together)》一书的总结,与我在 Commonplace 上做过的其他读书总结会有些不同。首先,我不会去总结这本书的主旨——即提供一份简洁、完整、有实证支持的关于「如何向初学者教授编程」的指南。相反,我将只把焦点放在书中探讨人类是如何学习的、知识是如何获取的、以及自学者可以做些什么来提升学习效果的章节上。这部分内容构成了该书的第二至第五章。
如果你对教授计算机编程感兴趣,最好能把整本书从头到尾读一遍;书里描述的每一项技巧,都建立在教学法研究总结的基础之上,辅以实战经验的背景说明,并以可操作的建议和鼓舞人心的案例作为首尾呼应。如果你正在面向公众开办软件培训课程,并希望把名气打出去,书里还有专门的章节教你如何进行社区建设、倡导包容性与多样性、给予教学表现反馈、与同行开展协同教学练习,以及处理品牌、营销与合作事宜。
说这本书是一部大师之作(tour de force)都嫌过于保守了;书中几乎每一个技巧、可操作的建议和论断,背后都有大量的论文引用作为支撑,你可以顺藤摸瓜去深入阅读。这是一本绝佳的好书,我认为应该有更多的人去了解它。
话虽如此,我并不觉得我的读者中有多少人对「学习如何教编程」感兴趣。所以,让我们把焦点放在会让你们大多数人感兴趣的话题上:也就是,关于人类是如何学习的,我们目前了解多少?作为个人,我们又该如何利用这些知识去提升自己的学习效果呢?
人类是如何学习的?
《一起教技术》对认知心理学和学习科学文献进行了极其精炼、实用的概述。它首先总结了新手(novices)、胜任的从业者(competent practitioners)与专家(experts)之间的区别:
- 新手不知道自己不知道什么——也就是说,他们在这个领域中还没有建立起一套可用的心智模型(mental model)。
- 胜任的从业者能在正常情况下,付出正常的努力去完成常规的任务,因为他们已经具备了一个足以应付日常需求的心智模型。这个模型不要求绝对完整或精准,只要好用就行。
- 专家拥有的心智模型,涵盖了那些胜任的从业者无法处理的所有复杂状况和特殊案例。这就使得他们有能力去应对不同寻常的突发状况。这也使得他们能够快速诊断并解决问题。
教学的目标就是培养专业技能——也就是把一个新手学习者变成一名胜任的从业者,并帮助胜任的从业者不断积累专业技能,最终蜕变为专家。
在面对新手时,一种糟糕的教法就是用海量的事实去淹没他们。这招根本行不通,因为新手学习者脑子里还没有心智模型,无法用来组织你抛给他们的那些事实。威尔逊断言,教新手的方法应该是帮助他们构建(construct)正确的心智模型,这样他们才有地方去安放你传授的事实。
让我们快速深究一下上面加粗的这两个词。首先,为什么用构建(construct)?为什么不用吸收(absorb)或学习(learn)?如果我们换成别的词,上面那句话的意思就会发生微妙的变化:我们会说「教新手的方法是帮助他们吸收正确的心智模型……」——这听起来就像是,有某种洞见「嗖」地一下从老师传递给了学生……就像是心灵感应,或者接住了一个光球似的。
威尔逊之所以使用「构建」这个词,是因为他深受西摩·帕普特(Seymour Papert)关于知识获取理论的影响。帕普特的主张是,人类通过「构建」来学习——也就是说,我们以一种迭代的、累积的方式来建立知识,用更新的心智模型去替换陈旧的、有缺陷的模型,或者把新的概念一层层叠加到我们已知的事物之上。
这能解释许多在学习过程中能观察到的现象。它解释了为什么你不能只是把自己的直觉单向输出,就指望学生能理解你;它解释了为什么你必须不断给出大量的例子和解释,直到学生突然「开窍」——而且,能让这个人开窍的点,未必能让另一个人开窍。
这也解释了助理教授布伦特·约尔吉(Brent Yorgey)提出的「Monad 墨西哥卷饼现象」:
不幸的是,现在有一大堆讲 Monad(函数式编程概念)的教程都犯了这个错。为了说明我的意思,请想象以下场景:Joe Haskeller 正在试图学习 Monad。在查阅示例、编写代码、阅读别人写的文章,苦苦挣扎了一周之后,他终于迎来了一个「啊哈!」时刻:一切突然豁然开朗,Joe 懂 Monad 了!但实际上真正发生的事情是,Joe 的大脑把所有的细节拼凑成了一个更高层级的抽象概念,也就是一个能让 Joe 直观掌握 Monad 的比喻;我们假设 Joe 想到的比喻是:Monad 就像墨西哥卷饼(Burritos)。就在这里,Joe 严重误解了自己大脑的思考过程:「对啊!」Joe 想,「现在一切都变得这么简单了。理解 Monad 的关键就在于它们就像墨西哥卷饼。我要是早点想到这个就好了!」当然,问题在于,如果 Joe 早就想到了这个比喻,那是根本毫无用处的:那痛苦钻研细节的一周,正是形成 Joe「卷饼直觉」必不可少、且不可分割的一部分,而不是他没能早点想出这个点子所导致的悲惨后果。
这种建构主义的学习观意味着,任何教学活动与其说是老师将知识当成礼物恩赐给学生——洞见从大师的大脑直接跃入学习者的大脑!——倒不如说,它是一场有向导的漫步,老师只是基于学生大脑中现有的模型,轻柔地推着他们向前走。
现在,让我们思考一下:究竟什么是心智模型?威尔逊将心智模型定义为:
……它是对某个问题领域中最重要部分的简化表征,且这种简化足以用来解决问题。一个典型的例子就是高中化学里使用的「球棍模型」来表示分子。原子实际上并不是球,它们之间的化学键实际上也不是弹簧,但这个模型在帮助人们推理化合物及其化学反应时,却表现得非常出色。
教学中有一个很重要的细节,那就是必须清除在知识构建过程中形成的那些错误的心智模型。因为新手学习者是在他们已有的认知基础上构建新知识的,所以当他们的学习开始取得进展时,非常容易构建出错误的心智模型。优秀的老师会时刻留意这一点并将其清除;他们常用的一个重要方法,就是利用形成性评价(formative assessments,此处的「形成」即指「塑造」学习的过程)来诊断出错误的心智模型。下面是一个很好的例子:
……想象一下,你把一块冰放进浴缸里,然后把水加满直到浴缸边缘。当这块冰融化时,水位是会上升(导致浴缸里的水溢出),下降,还是保持不变?

正确的答案是水位保持不变:冰排开了与自身重量相等的水,所以当它融化时,它刚好填满了它自己原本占据的那个「坑」。弄明白其中的缘由,有助于人们建立起关于重量、体积和密度之间关系的心智模型。
因此,形成性评价的价值就在于,它能诊断出错误的模型,并给学习者提供纠正错误的机会。帕普特建议,所有的学习都应当是这个样子的:教育系统应当进行改革,去鼓励启发式引导,而不是死记硬背。
举个例子,如果引导一个学习者去经历一系列旨在巧妙塑造其理解力的形成性案例,那么这个学习者培养直觉的速度,将远远快于他在课堂上被直接塞给一个数学公式(并指望他从公式中顿悟出直觉),而且过程也会愉快得多。
前一种做法是通过知识「获取(构建)」来进行教学;后一种做法则源于一种执念,即认为洞见是可以被「批发」传递的。可悲的是,我们大多数的教育系统都在采用后一种方式进行教学;所以,这就得靠我们自己来创造那些生成性的案例了。
心智模型与专业技能
新手、胜任的从业者以及专家的心智模型之间,究竟有什么区别呢?
为了弄懂这个问题,我们不妨借用一张图解。假设知识被表示为一张图谱,图中的节点代表「事实」,而事实之间的连线代表「关系」:

新手刚起步时,脑子里没有事实(或者装的都是错误的事实),事实之间也没有联系(或者全是错误的联系)。

当威尔逊说,教学的工作就是提供一个心智模型,好让事实能够填补进去时,他的意思是,你的目标应该是为学生搭建一个关联网络的基本骨架。例如,胜任的从业者就拥有一个足以应付日常工作需求的基本心智模型:

专家——和胜任的从业者一样,拥有自己的心智模型,也知道在接触到新事实时该如何组织它们;二者之间最主要的区别,在于该领域心智模型中内部关联的密度不同。

这些高度互联的心智模型,解释了我们在专家行为中观察到的一系列现象:
- 他们能跨越中间步骤,直接从问题跳跃到解决方案,因为在他们的大脑中这两者之间有着直接的连线。例如,当观察到症状 E 时,专家可能会立刻推断出根本原因 A;而胜任的从业者可能需要按照 E->D->C->B->A 的顺序去推理。我们将其称为「直觉」,但这种直觉并不一定好解释;专家往往很难把自己的推理过程讲明白。
- 专家在诊断问题上比胜任的从业者更强。因为更多的关联,意味着专家更容易从症状逆向倒推出原因。这就是为什么在面试程序员时,让他们找 Bug(调试)会比直接让他们写代码,更能准确反映出其能力水平的主要原因。
- 专家常常对某门学科熟悉到了极点,以至于他们再也无法想象不以那种方式看待世界到底是什么感觉了。这种现象如此普遍,以至于它都有了自己的专有名词:「专家盲点(the expert blind spot)」。虽然专家盲点可以通过训练来克服,但它确实解释了为什么在教别人时,专家往往还不如那些专业技能稍逊、但仍然记得自己当初是如何学习的人教得好。
由此可见,专业技能其实就是一张将各种事实高度密集连接起来的网络图。我们需要注意的是,专业技能并不来源于你掌握了多少事实(一个胜任的从业者可能会往他该领域的心智模型中塞入大量的新事实,但这并不代表他的专业技能就提升了)——相反,专业技能取决于这些事实之间的相互连接有多紧密。而这种紧密的互联网络,是通过反思和实践得来的。
概念图
把心智模型比作图谱的概念,并不仅仅是为了解释心智模型而画的漂亮插图。威尔逊向我们展示了,它们作为教学工具也同样非常有用。
威尔逊借鉴了佛罗里达人类与机器认知研究所 (IHMC) 进行的研究,该研究表明:任何知识子集都可以转化为一种叫做「概念图」的东西。下面是一张解释为什么地球会有四季的概念图:

下面这张则是关于 for 循环的概念图:

概念图是一种认知外化的形式——它是一种能够将思考过程和心智模型可视化的思维工具,从而方便人们去比较、对照以及整合它们。
威尔逊指出,概念图在以下三种不同场景中尤为实用:
- 在设计课程教案时,老师们可以在讨论中画出概念图,借此来厘清各自在教学思路上存在的差异。
- 老师们可以在授课时在白板上画概念图,把各种概念之间的关联与脉络清晰地展现出来。
- 老师可以让学生自己画概念图来检查他们的学习情况(作为一种形成性评价)。但这项活动实施起来比较困难,原因有二:一是它非常耗时,不能经常做;二是绘制概念图本身也是一项技能,必须先教学生怎么画,他们才能有效地使用它。
值得一提的是,如果你打算把概念图当作团队协作的工具来用,那它看起来应该越丑、越随性越好——因为人们在面对那些看起来只花了短短几分钟涂鸦出来的东西时,更愿意给出坦诚的反馈。
(如果想了解更多关于概念图的信息,以及如何将其运用到个人学习中,请访问 IHMC 的概念图页面;请注意,概念图不是思维导图。)
概念图之所以有趣,还因为——和大多数认知外化工具一样——它们可以与对「工作记忆」的研究洞察结合起来,从而制定出更出色的课程教案。
工作记忆与 7±2
人类的记忆分为两部分:长期记忆和短期记忆。长期记忆里装的是朋友的名字、你的家庭住址、你初吻的回忆这类东西——这种记忆的容量是无限的,但提取速度较慢。
短期记忆则恰恰相反,它的提取速度快得多,但容量很小:7±2 是你的大脑在同一时间能记住的独立信息块的数量。短时记忆的这个容量限制,解释了为什么电话号码通常是七到八位数字;这也解释了为什么职业运动队里,承担单一职能的队员很少超过九个人(例如,橄榄球比赛里的前锋和后卫大约各有半打人;背后的逻辑是,人们能记住并跟进队友动态的能力,会受限于工作记忆的容量)。
这个洞察非常有价值,因为你可以把它用在学习上。在学习期间,学生是无法将新知识直接塞进长期记忆里的。相反,所有的学习者都是先把新信息加载到短期记忆中。等到这部分新信息被反复演练,并且在短期记忆里待了足够长的时间后,它们才会在日后被转移到长期记忆里。
这也意味着,单次教学的课程中包含的概念总数,应该控制在 7±2 个以内。威尔逊提到,每次准备讲课前,他都会为这节课画一张概念图;如果他发现图中的概念数量超过了这个限制,他就会把这节课拆分成多个部分,小心翼翼地确保每节课的内容最多只包含 7±2 个知识点。
如何成为专家
那么,这堆学习科学理论最终得出了什么结论呢?简而言之:去做刻意练习(deliberate practice)。「一万小时定律」听起来是很吸引人,但它大概率是错的;相反,针对这种特定类型的练习去进行优化,效果可能会好得多。
刻意练习的定义是:反复去做相似但存在微妙差别的事情,时刻关注哪些做法奏效、哪些不奏效,然后根据这些反馈来改变自己的行为,从而获得日积月累的提升。(附注:这听起来像不像是在试错?)
威尔逊指出,人们通常的成长轨迹是:先根据别人的反馈采取行动,然后给别人提供反馈(为了在这一阶段获得提升,老师必须能够对学生的分析提出批评指正),最后,自己给自己提供反馈。能进化到这最后一步是非常令人向往的,因为它的效率奇高——当你只需要跟自己打交道时,你的反馈闭环会快得多。
我曾在其他文章中探讨过刻意练习的基础,特别是在对卡尔·纽波特的《深度工作》一书进行总结时——为了确保有效,刻意练习必须具备清晰的绩效目标,以及即时且信息量丰富的反馈。
(不过,我必须要说一句:在纸上谈论刻意练习的基本原理,和在现实中真正去践行它,完全是两码事;我会在笔记里把这一点记下来,并在不久的将来去深入钻研它。)
个人学习策略
心理学家们通过五花八门的方式对学习进行研究,但在「什么方法真正有效」这个问题上,他们得出了极其相似的结论。(这些结论融合了认知心理学与行为心理学的研究成果;我非常喜欢这种「殊途同归」的感觉——这暗示着它或许触及了人类学习本质中某些深刻而真实的真理)。
威尔逊向我们推荐了一个非常有用的网站:The Learning Scientists(学习科学家)。他们收集了其中六种策略,并将其汇总成了一套可供下载的海报。
这六项策略分别是:
1. 间隔练习 (Spaced Practice)
把 10 个小时的学习时间分散到五天里,效果会远胜于分两天、每天学 5 个小时,更远胜于一天内狂学 10 个小时。这很可能是由短期记忆和长期记忆的特性决定的;在任何单次学习时段内,只有有限的信息能被成功转移到长期记忆中去。
威尔逊建议,学习者可以针对自己遗忘的知识点做笔记:也就是说,为你记不住的,或者记错了的每一个知识点做一张抽认卡(flash card)。这样你就能在下一轮复习时,把精力集中在那些最需要关注的地方。
2. 提取练习 (Retrieval Practice)
研究人员现在认为,长期记忆的瓶颈不在于「留存」(你能储存多少信息),而在于「回想」(你能提取多少信息)。通俗点说:我们的大脑里虽然塞满了各种杂乱的信息,但其实没有什么东西是真正被彻底遗忘的;只不过,我们失去了提取某些特定信息的能力罢了。我猜进化论赐予了我们世界上最糟糕的碎片整理程序。
这个理论的实际应用其实很简单:在学习时,多做那些能逼着你去执行「提取(检索)」操作的测试或练习。比如,凭记忆总结某个主题的细节,然后再对照资料看看自己哪些记住了,哪些没记住。
另一种方法是把同一道题解两遍——第一遍,不看任何笔记,完全凭记忆去解。等批改完之后,你可以查阅任何你想要的资料,再把这道题解一遍。这两次解题过程的差距,就能暴露出你对该知识的提取能力到底有多强。
当然,执行提取练习最经典的方法就是使用抽认卡。实体抽认卡的用法是,在卡片的一面写上问题或提示词,在另一面写上答案。威尔逊提到,现在也有数字版本的抽认卡了;无论你用哪一种,你都可以和学习搭档互相交换测试,看看自己是否遗漏或误解了某些重要的概念。
3. 交错学习 (Interleaving) —— 交错学习不同的主题
分散练习压力的另一种方式是:交错学习不同的主题,而不是非要一次性彻底掌握某一个学科。威尔逊引用了一项研究来证明,打乱学习顺序能让学习更高效:A-B-C-B-A-C 的顺序要优于 A-B-C-A-B-C,而后者又优于 A-A-B-B-C-C。
这种做法之所以奏效,是因为交错学习能在不同主题之间建立起更多的关联,从而提升记忆的留存率和回想率。
4. 精细化阐述 (Elaboration)
在学习的过程中,自己向自己解释这些知识,能极大地帮助你理解和记忆。威尔逊在这里可是按字面意思说的:真的要开口对自己说出来!
一种做法是:在做练习题时,针对每一道题的答案,追加解释一下为什么这个答案是对的;反过来,也要解释一下为什么其他看起来有道理的选项是错的。另一种做法是:告诉自己,某个新概念与你之前学过的概念到底哪里相似,哪里又不同。
「跟自己说话」听起来似乎是一种很诡异的学习方式,但 Biel 在 1995 年的一项研究中,明确地对受试者进行了这种「自我解释」的训练,结果你猜怎么着,他们的表现确实胜过了那些没受过训练的人。你想想看吧!
5. 具体例子 (Concrete Examples)
有一种特殊的精细化阐述技巧效果极佳,以至于值得单开一节来介绍:那就是举具体的例子。
每当你看到一句抽象的陈述或者一条普遍的原则时,试着给出一个或多个它在实际中的应用案例;反过来也一样,试着拿出每一个具体的问题,然后列出它所体现的普遍原则。
威尔逊向我们推荐了 ADEPT 法,这是一种生成具体例子的结构化方法:给出一个类比(Analogy),画一张图表(Diagram),提供一个例子(Example),用通俗的语言(Plain language)来描述这个概念,最后再给出技术细节(Technical details)。
6. 双重编码 (Dual Coding)
最后一项技术借鉴了神经生物学的研究成果。因为我们的大脑是分开处理和存储语言信息与视觉信息的,所以在学习时,将文字与图像结合起来,能让这两个系统互相强化对概念的理解。当文本信息和视觉信息能够互补而不发生重叠时,这种方法的效果最佳;例如:用一张图表来展示事件的时间线,紧接着在图表下方配以文字叙述。
利用这一技巧的一个具体操作是:先画一张图表,但先留白不写标签,等过一段时间再回来,把填写标签当作一次提取练习来做。
结语
老实说,这篇关于威尔逊著作的读书总结,写出来比我预期的要长得多,而且我在这里涵盖的每一项学习技巧或学习科学的理论,都完全可以扩展成一篇单独的博客文章。
我确实打算把每一个思路都拿来实践一番,不过估计得过上一段时间,我才能给大家出具一份反馈报告。目前我还在摸索、实践我已经学到的那一堆技巧——尤其是我仍在练习如何养成习惯,同时我也在把我从《管他呢,直接发布(Just F*cking Ship)》里学到的理念应用到我的下一个项目中去。
但威尔逊在这部大师之作中所涵盖的内容,对于任何渴望变得更会教、更会学的人来说,无疑是一个非凡的起点。这本书在该网站上可以免费在线阅读,你也可以在 unglue.it 上免费下载它的电子书。我强烈推荐。
Thoughts Memo 汉化组译制
感谢主要译者 gemini-3.1-pro,校对 Jarrett Ye
原文:Teaching Tech Together - Commoncog
作者:Cedric Chin
最初发布于 2018 年 11 月 06 日,最后更新于 2026 年 05 月 08 日