你的孩子是在“被编程”吗?谈谈少儿编程教育的是与非
转载:微信公众号,南瓜博士(nangua_boshi)
作者:ElfeXu
少儿编程教育被炒得那么火热,到底哪些是追风逐利的噱头,哪些是真正值得教给孩子们的?
我一直都推崇 Scratch,不赞成教小学生 Python/JS/C++ 之类的文本编程,倒不是因为觉得太难加重孩子负担,而是因为有更重要的东西可以让孩子去练习。
孩子的打字速度慢,文本类编程运行给反馈也远不及点击一下积木块那么方便。对孩子来说,图形化的编程更有利于他们去探索、创造、表达。
记得我最初教孩子们 Scratch 用的是英文界面,对双语学校的孩子来说这个要求其实并不高。但后来我给第二批孩子切换回中文界面,立刻发现他们的自发探索尝试的行为比第一批孩子多得多。
哈佛《创意计算思维》课,有一个内容是用十块积木完成一个创作。左图是孩子们丰富多样的作品。
Scratch 官网上搜索“蔬菜”,能找到很多有趣的作品,是孩子们关于蔬菜的个性表达。
几个英文单词、文本编程的语法规则、精妙的算法……这些内容,等时间到了孩子学起来非常快。相比之下,我更关心怎样的编程教学,更有利于培养孩子探索的习惯和创造、表达的意愿。
Seymour Papert 说我们要让孩子对计算机编程,而不能让计算机对孩子编程。
我不赞成教小学生文本类编程的很重要的一个原因,就是这些记忆单词、语法的过程,更像是大脑在被编程。
所谓“被编程”,就是人变得像机器一样,按着程序指令一步步行动。
照着图纸搭乐高是被编程,发挥创意进行MOC创作才是编程。
听老师的指令用给定的算法完成给定的任务,是被编程;想办法写程序解决自己的问题,是编程。
Resnick 的书《终身幼儿园》中说过一个猫武士的例子。在猫武士教育游戏中,按着别人些的故事脚本、完成别人给的任务,是被编程;自己到 Scratch 网站创建猫武士工作室、编写自己的故事,是编程。
为什么我那么在乎编程还是被编程的问题?因为说到底,每个孩子都需要去编写他自己的人生程序,没有谁能为孩子提供全部的指令。
少儿编程教育受到不少非议,很重要的原因,是未来的世界其实不需要码农。
我们需要的,是被计算机赋能的孩子。要认识这个被计算机改变了的世界,学会与计算机相处;要锻炼用计算机解决实际问题的能力,今后要用计算机创造能为人们带来福祉的事物。
我和计算机相处二十年的收获,也告诉我计算机能带给孩子的、远不只是 if...else / repeat...until 这类所谓的“编程思维”,它的价值要丰富得多。
编程教育其实太过狭隘,我们更应该关注整个计算机科学或者说信息素养的教育。我们可以借鉴很多国外经验。例如美国 k12cs 框架:它将计算机科学的内容分为五大概念、七项实践:
在每一个概念 x 实践的格子中,它都给出了不同年龄段的具体要求。例如下面这个,是关于计算机影响和用计算机协作/创作的内容:
从中我们可以看到,计算机相关的、值得教给孩子们的,远远不只是编程。
计算机科学(信息素养)那么重要,为什么平时我们听到的,却只有“少儿编程教育”呢?其实不难理解:后者比前者要容易太多。
只需要抛出 Scratch/micro:bit等等编程界面,就可以告诉家长说“喏,这就是少儿编程”。但如何才能给家长们解释清楚信息素养到底是什么呢?教这些课的老师,真的具备足够的信息素养了吗?
总结一下:
我们要带孩子把计算机当作工具,去探索、创造、表达,而不是死记硬背语法和算法;
我们要让孩子对计算机编程,而不是被编程;
我们要给孩子亲近生活、关注人文的计算机科学教育,而不是狭隘的编程教育。
怎么教呢?我也还在探索中。会议上分享的一些例子,可以从下面的文章中找到。今后我会少写一点纯粹表达观点的文章,多写一些探索实践。ET 之桥架了大半年,该成为行动派了。
-广告-
↑↑↑点击图片立即购买↑↑↑
如果喜欢文字,那就点“在看”哟↘↘↘
点击“阅读原文”也可直接购买
--end--
声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com