教学之法

对于有些事情,似乎每个人都是专家。

教学就是一个好例子。

任何人,只要智商超过 80,又懂得一点什么东西,似乎都可以当老师。

—— 《理解专业程序员


回忆一下我们在学校中遇到的那些优秀教师

他们和蔼可亲,关爱学生,

讲授着现在看来我们早就学会了的知识。


因此,这就很容易就给人们造成一种假象,

那就是,只要态度好,足够敬业,

成为一名特级教师似乎只是时间问题。


这显然是不可能的。


我们能清晰的理解教师的讲解,

并不代表着我们也能讲授的这么清晰。


教学方法是一个很艰深的话题。


兴趣

爱因斯坦说,“兴趣是最好的老师”,

如何让知识的接受者,对相关知识产生兴趣,是传递知识的前提。


我们无法在一个抗拒的大脑中,塞下任何东西。


温伯格 在《咨询的奥秘》中提到,

如果他们没有雇用你,就不要为他们解决问题。


同理,在打算讲授知识之前,必须事先明确,

如果别人不需要这些知识,或者说不肯为这些知识付出代价,

就不要讲授给他们听。


真经必须由玄奘法师,亲自求取


因此,一个好的知识传递者,

必定首先吸引受众的兴趣,让他们对知识上瘾

曾记否,“人之患,在好为人师”。


经验

教学是一项需要充分准备的过程。

教学是一项需要充分准备的过程。


临时的经验总结,并不会给知识接纳者带来任何好处,

混乱的信息反而会给人们带来更多的心智负担。


为此,我们需要仔细考虑,将哪些知识传递给别人。

事后总结的规律,并不等同于做好这件事的有效办法。


例如,我们知道掌握平衡的办法,但这并不能教会婴儿学会走路。

我们知道骑自行车的诀窍,也不能用来教会别人怎样骑车。


事后总结和事前的学习方法,是两码事。


因此,作为一个好的知识传递者,就得首先忘掉自身所学,

站在初学者角度,想出教会自己的办法。


所以,技能熟练的人,并不一定擅于教学,

也可能只是他当时,遇到了一个好老师罢了。


忘掉自身所掌握的信息,通常是一件困难的事情,

因为人们经常不小心就中了“知识的诅咒”,无法理解别人的处境。

需要勤加练习


结语

编程也是一个不缺乏专家的领域。


如果你看到一条广告招收“有经验的”程序员,那意思往往就是一年或者两年经验。

实际上,如果谁有 15 年的编程经验,人们倒会觉得这人简直是个智障。


在编程行业中传递知识,变得极为困难,

因为首先大多数人,不认为自己需要被传授。


其次,学会某项技能的专业人士,也很难正视自己的学习经历,

通常人们会将已掌握的知识,归结为自身的“聪明”,

而避免谈论当时的外部环境


实际上,如果不投身于特定的环境中,仅凭聪明才智,

是很难学会任何技能的。


另一方面,布鲁克斯 在《人月神话》中提到,

所有软件活动包括根本任务——打造由抽象软件实体构成的复杂概念结构

次要任务——使用编程语言表达这些抽象实体,在空间和时间限制内将它们映射成机器语言。


软件活动是围绕那些人为创造的抽象概念展开的,

所以,如何传递这些由抽象概念构成的知识,是软件活动中最困难的部分。


这就进入了一个两难困境。

我们需要传递知识,可知识又不容易被传递,

教学之法,值得慎重考虑。