上周在合肥经开区的一所小学推门听课,四年级的编程课,老师在黑板上写”双重循环的嵌套逻辑”,底下小孩坐得板正,第三排的小男生偷偷把键盘上的B键帽抠下来,在手里转来转去。我站在后排看了20分钟,他从头到尾没碰过一下屏幕上的scratch界面。
被上成”刷题课”的编程,到底丢了什么?
说实话,这不是我第一次在编程课上看到这种场景。
上个月在另一所城区小学听公开课,老师布置的课堂作业是”写出三种不同循环结构实现的1到100偶数和计算代码”,要求15分钟内做完,做完的人可以拿小贴纸奖励。我凑到一个小孩旁边看,他拖来拖去,把积木块堆得密密麻麻,也不知道哪块是哪块,反正凑够能跑通出正确数字就行。
这跟我小时候上数学课,被要求用三种方法解同一道应用题,有什么区别?

我当时越想越窝火。
编程本来是最贴近”解决问题”的学科啊。你想做个能提醒自己带红领巾的小程序,想做个打地鼠的小游戏,想让小猫在屏幕上跟着鼠标跑,这些有意思的、完全属于小孩自己的想法,怎么就变成了对着标准答案凑代码的刷题任务?
很多老师自己也没转过弯来。为了方便考核,把所有编程知识点拆成了要背要默的条目,比如问”循环的三个要素是什么”,小孩能顺着课本一字不差背出来,你让他做个帮奶奶数每天卖了多少菜的小工具,他立刻就懵了——因为课本上从来没讲过”卖菜计数”这种题。
家长群里问得最多的问题,其实都问反了
上周教研活动结束,被几个家长堵在走廊里问问题。
张嘴第一句全是”我家娃五年级学Python会不会太晚?””不报竞赛班是不是就白学编程了?””编程要考几级才能升初中加分?”

我每次听这些问题都觉得挺无奈的。
太多家长从一开始就把编程教育的目标搞偏了。大家默认它跟奥数、英语考级、钢琴十级是一回事——要攒证书,要拼竞赛,要在升学简历上多添一行字。至于小孩是不是真的喜欢,是不是真的能从里面摸到点解决问题的思路,反而没人在意。
我之前碰到过一个六年级的小孩,在编程机构学了两年,能背出来一长串Python的语法规则,上次跟他聊天,他说最烦编程课,因为每次上课都是刷竞赛题,刷到吐。我问他那你有没有自己想做的小玩意?他想了半天说,好像没有,反正老师说做竞赛题才是有用的。
你看,这钱花得冤不冤?
其实真不用急着赶进度。我跟很多问我问题的家长都说,你先观察下,你家小孩拼乐高的时候,会不会为了搭一个能跑的小车,蹲在地上拆了装装了拆半小时;会不会为了让自己的漫画故事有个互动结局,琢磨半天怎么把人物串起来。如果有这股劲,再碰编程也不迟。要是拼10分钟就喊难要放弃,报再贵的班,最后也是小孩坐不住,老师哄着学,钱花了,啥也没留下。
真正有用的编程课,根本不用赶进度

去年冬天去芜湖的一所乡镇小学听课,那节课给我印象特别深。
老师第一句话根本没提”变量””循环””逻辑判断”这些吓人的术语,就问全班:”你们平时最烦的一件小事是什么?”
底下小孩七嘴八舌喊起来。有人说最烦下课忘了擦黑板被老师罚,有人说最烦早上起迟到被妈妈骂,有人说最烦家里的猫每次把水杯扒到地上。
那个之前在合肥课上抠键帽的小男生如果在这,估计能举着手喊半天。
那天的课上,老师就带着小孩挑自己最想解决的那件小事,用最简单的scratch积木拼出对应的小程序。想做擦黑板提醒的小孩,就拖了个时钟积木,设置成下课时间一到,屏幕上就弹出个举着黑板擦的小猫;想做防迟到提醒的小孩,就加了个闹铃积木,到点就播放他最爱的动画片主题曲。
整节课闹哄哄的,没人抠键帽,没人趴在桌上睡觉,所有人都在盯着自己的屏幕改来改去。
编程教育的核心从来不是让小孩记住多少代码语法,而是学会把一个乱糟糟的大问题,拆成一步一步能落地的小步骤。
你想做一个提醒自己带水杯的程序,第一步先想清楚要提醒几次,第二步想清楚提醒的时候要弹什么字,第三步想清楚到哪个时间点触发提醒——这些思考方式,不管以后他是当作家,还是当工程师,甚至就是开个小超市卖货,都是能用得上的。
哪需要赶什么进度?
我见过太多学校,花几万块买了编程教具,锁在器材室里,只有上级来检查的时候才搬出来摆个样子,平时的课全被数学、语文占了,理由是”编程不考试,学了没用”。也见过太多机构,把课程包装成”竞赛速成班”,小孩刷两年题,除了会做那几道固定的竞赛题,连个自己想做的小工具都拼不出来。
上次在合肥那所小学门口,我又碰到了那个抠键帽的小男生。他背着个奥特曼书包,蹦蹦跳跳跟我说,他在家自己琢磨了个打怪兽的小游戏,把班主任设置成了最终boss,打一下就掉100分。
我当时笑得腰都直不起来。
你看,这才是编程本来该有的样子啊。