报错的时候,孩子先看谁的脸——编程教育现场观察笔记

上周三下午最后一节,教室后排那个四年级男孩盯着屏幕,光标闪得很有节奏。

他的程序卡在第三个测试用例。我站在两米外,没动。

他忽然小声说了句:“它又生气了。”

然后自己把红字往下滚了一行,念出声:“第 7 行,index out of range。”改了个数字,重跑。过了。

回办公室我在本子上写了一句话:编程教育里最难教的东西,从来不是语法。

红字不是判决书

同一个班,另一个孩子看到红字的第一反应是——关窗口。

或者举手:“老师,它坏了。”

我问他跑了几次。他说一次。

这两个孩子的差别不在聪明程度,也不在提前学没学过。差在一种很朴素的经验:报错信息是句子,不是判决。

可我们大人常常亲手把这句话堵死。孩子写错一行,我们脱口而出“这么简单都错”。三次之后,红字在他眼里就不再是提示,而是宣判。他会开始躲。

你去看那些编程课上最安静的孩子,很多不是不会,是怕。

小学编程教室学生盯着代码报错信息皱眉
小学编程教室学生盯着代码报错信息皱眉

有个现象我盯了很久:孩子遇到 bug,最容易做出的动作是随机改数字。3 改成 5,5 改成 2,一遍遍跑,直到碰对。

我说这叫“许愿式调试”。

他其实不知道自己在干什么,只是不肯停下来看那一行字。因为看那一行字,等于承认“我错了”。这个成本,对十岁的孩子来说,有时候比改十遍数字还高。

我后来用一个笨办法:让他先说出来。

“你想让它做什么?”

“它现在做了什么?”

就这两句。不许多说。说出来之后,一大半的 bug 自己就露头了。

搭积木和拆积木,是两件事

再说图形化编程。我不反对它,低龄阶段它确实降了门槛——不用背 `for` 怎么写,不用纠结分号。孩子十分钟就能让小猫走迷宫。家长在旁边拍照,很满意。

但有个坑,我踩过很多年才发现。

拖拽式的积木块,本质是填空:形状对上了,程序就对了。它教的是“找到正确的那块”。

而真正的编程是建构:没有正确的那块,你得自己想出它长什么样。

这两件事,长得像,内核差得很远。

我见过上完一整年图形化课的孩子,第一次打开文本编辑器时的表情。那种茫然不是“难”,是“这里的边界呢?谁告诉我该把哪块放哪?”

不是说图形化不好。是说如果一整年只在搭,孩子学到的其实是操作软件的手速,不是把问题拆开的那股劲。

所以我现在会做一件很小的事:每节课留十分钟,不给积木。只给一张纸,让他画步骤。画完再对着纸去拼。

先想,再动手。顺序反了,练的就是另一块肌肉。

孩子在纸上手绘程序步骤流程图
孩子在纸上手绘程序步骤流程图

家长问我的问题,多半跟编程无关

家长问我的问题,多半跟编程无关
家长问我的问题,多半跟编程无关

上个月,一位妈妈在走廊上堵住我。她儿子学编程两年了。

“老师,为什么他数学还是不行?”

我反问她:他上课的时候,是自己想步骤,还是照着老师屏幕上的一行行敲?

她想了想,说,好像是照着敲。

那就对了。

编程和数学之间不是一根自动输送的管道。它们共用一些东西——拆解、抽象、找不变量、把一个大问题切成能下嘴的小块。可这些能力不会因为手指在键盘上动过就自动长出来。

如果课程是“看老师做一遍,你复制一遍”,那它连思维训练都算不上。它只是一门手工课。

但反过来我也见过。一个五年级女孩,用十几行代码写了个自动批口算的小脚本。从那以后她对“验证”这件事上了瘾——不是因为我算得对不对,是因为我要能证明我算得对。

这句话她说出来的时候,我愣了一下。

你看,关键从来不在“学不学编程”,在课上到底发生了什么。同样一门课,可以是复印机,也可以是磨刀石。

有些时候,最好先别教

有些时候,最好先别教
有些时候,最好先别教

说了这么多好的,我得说点不好听的。

不是每个九岁小孩都需要学循环。

下棋、做饭、拆一辆旧自行车、跟着大人去菜市场算账——都在训练同一套东西:把大问题切成小问题,试错,忍受一段没有答案的时间。

编程只是其中一条路,而且是一条对抽象能力要求偏高的路。有的孩子八岁上手如鱼得水,有的孩子十二岁才开窍。这中间没有谁输在起跑线。

真正让我担心的,是那种情形:孩子的日程表已经排满,编程课只是又一个需要打卡的格子。他坐在那里,手在动,脑子在等下课。这种课,上不如不上。

还有一种,是孩子本身不敢错。这类孩子其实最适合编程——代码是少数几个犯错零代价的地方。写崩了,改一行,再来。可前提是,老师不因为红字给他脸色。

如果一堂编程课的分数是按“有没有报错”来打的,那它教的就是相反的品格。

我见过太多孩子,花了很久才敢按下那个运行键。

留个小办法

留个小办法
留个小办法

下次他卡住,别问“哪里错了”。

问那两句:你希望它做什么,它现在做了什么。

问题从“我笨”挪到“它和我想的不一样”。这中间隔着的,是一个孩子愿不愿意再试一次。

顺便说,这法子对我自己也管用。

最后我想问一句,你上一次当着孩子的面,把自己的错误大声说出来——是什么时候?

作者|教育

排版|教育

审核|柚子

免责声明:市场有风险,选择需谨慎!此文仅供参考,不作买卖依据。如有侵权请联系删除。
文章名称:报错的时候,孩子先看谁的脸——编程教育现场观察笔记
文章链接:https://m.lfdjt.com/p/jiaoyu/a/23862.html