你的孩子是在“被编程”吗?谈谈少儿编程教育的是与非

网友投稿 2019-05-29 21:52

https://cdn.china-scratch.com/timg/190531/21515M0c-0.jpg

转载:微信公众号,南瓜博士(nangua_boshi)

作者:ElfeXu

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

https://cdn.china-scratch.com/timg/190531/21515K502-1.jpg

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

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

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

https://cdn.china-scratch.com/timg/190531/21515LC2-2.jpg

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

https://cdn.china-scratch.com/timg/190531/21515W303-3.jpg

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

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

https://cdn.china-scratch.com/timg/190531/21515S002-4.jpg

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

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

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

https://cdn.china-scratch.com/timg/190531/21515W336-5.jpg

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

https://cdn.china-scratch.com/timg/190531/215159B91-6.jpg

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

https://cdn.china-scratch.com/timg/190531/21515aB0-7.jpg

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

https://cdn.china-scratch.com/timg/190531/2151591132-8.jpg

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

https://cdn.china-scratch.com/timg/190531/21520041E-9.jpg

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

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

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

https://cdn.china-scratch.com/timg/190531/215200I93-10.jpg

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

https://cdn.china-scratch.com/timg/190531/21520030A-11.jpg

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

https://cdn.china-scratch.com/timg/190531/21520120S-12.jpg

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

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

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

总结一下:

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

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

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

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


https://cdn.china-scratch.com/timg/190531/21520154E-13.jpg

-广告-

https://cdn.china-scratch.com/timg/190531/2152014148-14.jpg

↑↑↑点击图片立即购买↑↑↑

如果喜欢文字,那就点“在看”哟↘↘↘

https://cdn.china-scratch.com/timg/190531/2152012227-15.jpg 点击“阅读原文”也可直接购买

--end--

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