这几年,编程教育火得一塌糊涂。不,简直就像龙卷风,把家长、学校、培训机构都卷了进去。你问我怎么看?说实话,作为一个泡在基础教育领域十多年的人,我一开始是兴奋的,但很快就变成了警惕——甚至是有点懊恼,因为太多人把它当成了另一门“奥数”。
一场误会:我们到底在焦虑什么?
去年有个校长朋友跟我吐槽,说现在连幼儿园都开了“Python启蒙班”。Python?那个连大学生都要花半个学期才入门的语言,让5岁的孩子去学?这就像要求一个刚学会握笔的孩子写十四行诗,荒唐。

但这样的荒唐事,每天都在上演。原因很简单——家长怕落后。教育机构呢,正是抓住了这种“起跑线焦虑”,把编程包装成“未来世界的通行证”。可真相是:编程教育的核心,根本不是写代码。
我曾在一次教师培训中做过一个实验:让十位语文老师用Scratch设计一个讲述《草船借箭》的动画。结果,没有一个人去纠结循环嵌套或变量定义,反而都在琢磨情节怎么呈现、角色怎么对话。那一刻我突然明白,真正的计算思维,是拆解问题、是逻辑排序、是迭代优化——这些,恰恰是我们传统课堂里最缺的东西。
问:不写代码,那编程教育教什么?
答:教孩子“如何像计算机一样思考”。比如,把“整理书包”拆解成步骤:打开书包、放入课本、放入文具盒……顺序错了,铅笔盒就可能被压坏。这就是最基本的算法思维。我们完全不需要电脑就能训练。
一堂课里的意外收获
说个真事儿。前阵子我去一所县城小学听课,老师带着五年级孩子用micro:bit做计步器。有个男孩,平时数学从不超过60分,那天却第一个点亮了LED屏。他激动地拽着我袖子:“老师,我写了个‘if 步数大于10,显示笑脸’!”

那个瞬间,编程教育的价值赤裸裸地摆在那里——它给了孩子一种全新的表达方式。就像画画、写作一样,只不过用代码作为画笔。但这里有个前提:老师必须把任务设计得足够开放。如果只是让孩子照着步骤敲一段程序,那和传统的填鸭式教学有什么区别?
不过话说回来,现实中太多老师自己都没搞懂编程,就被赶鸭子上架。去年教育部发了文件,要求将编程纳入中小学课程,但师资培训却严重滞后。一位教研员私下告诉我:他们区里80%的信息技术教师是“半路出家”,最怕家长问“孩子学这以后能干什么”。
问:孩子学了编程,未来就能当程序员吗?
答:不一定,也没必要。就像学语文不是为了当作家,学编程更多地是培养一种思维素养。真正的价值,是让孩子理解数字世界的运行规则,不做一个被动的消费者。当然,如果孩子真有天赋,那再好不过——但千万别本末倒置,把兴趣变成了另一种作业。
绕不开的弯路

我见过最离谱的一个案例:家长花了两万多报线上编程班,孩子学了一年,除了会用鼠标拖拽几个积木块,什么都没留下。为什么?因为课程设计本身就是“傻瓜式”的,每一步都规定死了,孩子根本不需要动脑。这样的“编程教育”,纯属浪费钱。
那么,好的编程课应该什么样?我始终觉得,至少要有“失控”的时刻。比如孩子想做一个游戏,但角色总是穿墙而过,这时候他得自己去琢磨“碰撞检测”——这个探索的过程,比学会一百个命令都珍贵。可惜,这样的课往往被家长投诉“效率太低”。哎,急功近利,真是教育最大的敌人。
更让我担心的是,编程教育正在变成新一轮的“内卷工具”。有机构甚至推出了“代码书法”概念,要求孩子把代码格式对齐到像素级完美。天啊,这跟练字帖有什么区别?代码是活的,是不断试错修改的,不是用来展览的印刷品。
给教师和管理者的真心话
如果你是一线教师,千万别被那些高大上的术语唬住。编程教育的起点,其实就是“解决问题”。你可以不带电脑,只用纸笔让孩子设计自动售货机的逻辑;也可以利用免费的开放平台,像Code.org或Scratch,它们对低龄段孩子足够友好。关键在于,你得敢于放手,让孩子犯错、争吵、推翻重来。
如果你是管理者,求你了,别再把编程课变成表演课。我见过太多的公开课,孩子们操作流利得像机器人,一问原理却哑口无言。这种虚假繁荣,比不教还糟糕。不如扎扎实实做项目式学习,哪怕一学期只完成一个作品。
最后想对家长说:你可以不懂Python,但可以懂孩子。当他兴奋地展示一个虽然粗糙但自己完成的小程序时,夸他的创意,而不是代码的行数。记住,编程教育不是终点,而是帮孩子打开一扇窗,窗外是逻辑、创造与自由的风景。
别让这扇窗,变成一道枷锁。