育儿知识网

首页 > 孕产

孕产

正确认识少儿编程,从以下三个“是与非”开始 少儿编程指的是什么

2022-03-14 10:43:42孕产
少儿编程教育被炒得那么火热,到底哪些是追风逐利的噱头,哪些是真正值得教给孩子们的?我一直都推崇 Scratch,不赞成教小学生 Python/JS/C++ 之类的文本编程,倒不是因为觉得太难加重孩子负担,而是因为有更重要的东西可以让孩子去练习。

少儿编程教育被炒得那么火热,到底哪些是追风逐利的噱头,哪些是真正值得教给孩子们的?

我一直都推崇 Scratch,不赞成教小学生 Python/JS/C++ 之类的文本编程,倒不是因为觉得太难加重孩子负担,而是因为有更重要的东西可以让孩子去练习。

孩子的打字速度慢,文本类编程运行给反馈也远不及点击一下积木块那么方便。对孩子来说,图形化的编程更有利于他们去探索、创造、表达。

少儿编程指的是什么

正确认识少儿编程,从以下三个“是与非”开始

记得我最初教孩子们 Scratch 用的是英文界面,对双语学校的孩子来说这个要求其实并不高。但后来我给第二批孩子切换回中文界面,立刻发现他们的自发探索尝试的行为比第一批孩子多得多。

哈佛《创意计算思维》课,有一个内容是用十块积木完成一个创作。左图是孩子们丰富多样的作品。

少儿编程指的是什么

Scratch 官网上搜索“蔬菜”,能找到很多有趣的作品,是孩子们关于蔬菜的个性表达。

几个英文单词、文本编程的语法规则、精妙的算法……这些内容,等时间到了孩子学起来非常快。相比之下,我更关心怎样的编程教学,更有利于培养孩子探索的习惯和创造、表达的意愿。

少儿编程指的是什么

Seymour Papert 说我们要让孩子对计算机编程,而不能让计算机对孩子编程。

我不赞成教小学生文本类编程的很重要的一个原因,就是这些记忆单词、语法的过程,更像是大脑在被编程。

所谓“被编程”,就是人变得像机器一样,按着程序指令一步步行动。

照着图纸搭乐高是被编程,发挥创意进行MOC创作才是编程。

少儿编程指的是什么

听老师的指令用给定的算法完成给定的任务,是被编程;想办法写程序解决自己的问题,是编程。

Resnick 的书《终身幼儿园》中说过一个猫武士的例子。在猫武士教育游戏中,按着别人些的故事脚本、完成别人给的任务,是被编程;自己到 Scratch 网站创建猫武士工作室、编写自己的故事,是编程。

为什么我那么在乎编程还是被编程的问题?因为说到底,每个孩子都需要去编写他自己的人生程序,没有谁能为孩子提供全部的指令。

少儿编程教育受到不少非议,很重要的原因,是未来的世界其实不需要码农。

我们需要的,是被计算机赋能的孩子。要认识这个被计算机改变了的世界,学会与计算机相处;要锻炼用计算机解决实际问题的能力,今后要用计算机创造能为人们带来福祉的事物。

我和计算机相处二十年的收获,也告诉我计算机能带给孩子的、远不只是 if...else / repeat...until 这类所谓的“编程思维”,它的价值要丰富得多。

编程教育其实太过狭隘,我们更应该关注整个计算机科学或者说信息素养的教育。我们可以借鉴很多国外经验。例如美国 k12cs 框架:它将计算机科学的内容分为五大概念、七项实践:

在每一个概念 x 实践的格子中,它都给出了不同年龄段的具体要求。例如下面这个,是关于计算机影响和用计算机协作/创作的内容:

从中我们可以看到,计算机相关的、值得教给孩子们的,远远不只是编程。

计算机科学(信息素养)那么重要,为什么平时我们听到的,却只有“少儿编程教育”呢?其实不难理解:后者比前者要容易太多。

只需要抛出 Scratch/micro:bit等等编程界面,就可以告诉家长说“喏,这就是少儿编程”。但如何才能给家长们解释清楚信息素养到底是什么呢?教这些课的老师,真的具备足够的信息素养了吗?

总结一下:

我们要带孩子把计算机当作工具,去探索、创造、表达,而不是死记硬背语法和算法;

我们要让孩子对计算机编程,而不是被编程;

我们要给孩子亲近生活、关注人文的计算机科学教育,而不是狭隘的编程教育。