少儿编程教育的是与非

网友投稿 2019-05-26 14:10

https://cdn.china-scratch.com/timg/190528/14095UT6-0.jpg

这是我在群岛会议上的分享。文中的观点,之前在公众号或ET社群里,已经聊过很多,只不过这次面向不一样的群体,重新整理了下。就做个简单记录吧。

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

https://cdn.china-scratch.com/timg/190528/14095V360-1.jpg

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

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

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

https://cdn.china-scratch.com/timg/190528/140959AI-2.jpg

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

https://cdn.china-scratch.com/timg/190528/14095923Z-3.jpg

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

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

https://cdn.china-scratch.com/timg/190528/1410001T2-4.jpg

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

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

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

https://cdn.china-scratch.com/timg/190528/1410004P7-5.jpg

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

https://cdn.china-scratch.com/timg/190528/1410005151-6.jpg

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

https://cdn.china-scratch.com/timg/190528/1410015100-7.jpg

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

https://cdn.china-scratch.com/timg/190528/1410013K2-8.jpg

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

https://cdn.china-scratch.com/timg/190528/1410013K3-9.jpg

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

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

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

https://cdn.china-scratch.com/timg/190528/1410021B0-10.jpg

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

https://cdn.china-scratch.com/timg/190528/1410025935-11.jpg

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

https://cdn.china-scratch.com/timg/190528/1410023210-12.jpg

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

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

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

总结一下:

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

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

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

怎么教呢?我也还在探索中。会议上分享的一些例子,可以从下面的文章中找到。今后我会少写一点纯粹表达观点的文章,多写一些探索实践。ET 之桥架了大半年,该成为行动派了。

本文来自公众号:南瓜博士

授权转载

https://cdn.china-scratch.com/timg/190528/1410033063-13.jpg

霞客行暑期夏令营推荐:

https://cdn.china-scratch.com/timg/190528/1410033063-14.jpg

https://cdn.china-scratch.com/timg/190528/1410033V3-15.jpg

https://cdn.china-scratch.com/timg/190528/1410045556-16.jpg

https://cdn.china-scratch.com/timg/190528/1410045226-17.jpg

--end--

声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com