审思明辨|理性地看待少儿编程
少儿编程教育被炒得那么火热,到底哪些是追风逐利的噱头,哪些是真正值得教给孩子们的?
scratch编程
从2010年萌芽期开始,到如今的蓬勃发展期,中国少儿编程已发展九年多。从最初的市场意识淡薄,到越来越多的家长开始关注少儿编程行业,从校内尝试,到校外线上线下机构雨后春笋,越来越多的人们相信,少儿编程是人工智能时代下培养计算思维、逻辑思维、批判性思维、系统思考能力的途径。
目前有很多少儿编程机构的课程大纲直指考级、竞赛、获奖、提分,我们如何看待这一现象?在少儿编程界还不存在像英语四六级这样的硬核能力要求之前,它们应该是花开的结果和雨后的彩虹,而不是直接追求的目标。如果一开始家长的期望就是上述目标,则可能会拔苗助长,甚至磨灭孩子的兴趣,严重的产生厌恶。实际上,有很多孩子都是在探索了很长一段时间后,才去考虑拔高,也取得了成绩。
我一直都推崇 Scratch,孩子的打字速度慢,文本类编程运行给反馈也远不及点击一下积木块那么方便。对孩子来说,图形化的编程更有利于他们去探索、创造、表达。
scratch编程教学
几个英文单词、文本编程的语法规则、精妙的算法……这些内容,等时间到了孩子学起来非常快。相比之下,我更关心怎样的编程教学,更有利于培养孩子探索的习惯和创造、表达的意愿。
少儿编程教育受到不少非议,很重要的原因,是未来的世界其实不需要码农。我们需要的,是被计算机赋能的孩子。要认识这个被计算机改变了的世界,学会与计算机相处;要锻炼用计算机解决实际问题的能力,今后要用计算机创造能为人们带来福祉的事物。我和计算机相处这些年的收获,也告诉我计算机能带给孩子的、远不只是 if……else / repeat……until 这类所谓的“编程思维”,它的价值要丰富得多。
编程教育其实太过狭隘,我们更应该关注整个计算机科学或者说信息素养的教育。我们可以借鉴很多国外经验。例如美国 k12cs 框架:它将计算机科学的内容分为五大概念、七项实践:
美国 k12cs 框架
在每一个概念 x 实践的格子中,它都给出了不同年龄段的具体要求。例如下面这个,是关于计算机影响和用计算机协作/创作的内容:
计算机内容
从中我们可以看到,计算机相关的、值得教给孩子们的,远远不只是编程。
计算机科学(信息素养)那么重要,为什么平时我们听到的,却只有“少儿编程教育”呢?其实不难理解:后者比前者要容易太多。
一个孩子正在学习编程
只需要抛出 Scratch/micro:bit等等编程界面,就可以告诉家长说“喏,这就是少儿编程”。但如何才能给家长们解释清楚信息素养到底是什么呢?教这些课的老师,真的具备足够的信息素养了吗?
总结一下:
我们要带孩子把计算机当作工具,去探索、创造、表达,而不是死记硬背语法和算法;
我们要让孩子对计算机编程,而不是被编程;
我们要给孩子亲近生活、关注人文的计算机科学教育,而不是狭隘的编程教育。
举报/反馈