学龄前儿童如何进行编程启蒙

为什么要学编程?

我们引用美国麻省理工学院终身教授、LOGO 语言作者Seymour Papert(教育信息化奠基人,数学家、计算机科学家、心理学家、教育家,近代人工智能领域的先驱者之一)的话——

我们需要让孩子对电脑编程,而不是让电脑对孩子编程

现在的教育是’教学主义’,而未来的学习需要的是’建构主义’

小编我一个在软件行业摸爬滚打了近二十年的老程序员,充分认识到,编程不仅仅是一门技术,编程是一个不断整体构建、模式识别、问题分解、逻辑分析及勇于尝试纠错的过程。在这个过程中,不光我们的多种思维能力得到了训练,它还促使着我们不断持续学习,因为当你进入信息技术这个领域,不光打开了你学习的渠道,更打开了你对技术视野的理解。所以小编一直有心想让自家娃娃能跟着我们一起玩玩编程,无奈青春期的老大似乎生怕因此会受爸爸妈妈更多的控制,有意识地排斥妈妈要教她编程这件事。但四岁半的老二不一样,在看到妈妈有时候用Scratch制作了一些挺有趣味性的作品出来时,会表示有莫大的兴趣,总是会过来说“妈妈,让我也玩玩”,所以妈妈就起了试着来教下这个小丫头学编程的念头。

目前市面上大部分给孩子启蒙的编程语言是Scratch语言或类Scratch语言,这些语言基本面向的是6岁以上的孩子,需要孩子具备一定的识字能力。在起了要教家里这个四岁半小丫头编程的念头后,我就去查询和搜罗了不少适合学龄前儿童的编程产品。经过甄选,我给小丫头(四岁半)分别尝试了这几个编程产品:电脑上的Scratch、电脑上的code.org课程、iPad上的ScratchJr、iPad上的LightBot、不插电的Robot Turtle,不插电的Code Master。

下面我记录下我和我家小丫头一起尝试这几种产品的过程,及小丫头在这个过程中的表现和反应,以供大家选择参考。

01

电脑上的Scratch

Scratch

硅码Scratch网址:www.xguima.com/Scratch-flash/index.html

Scratch是一款由麻省理工学院(MIT)设计开发的少儿编程工具。

对于Scratch,小编我自己是熟得不要再熟,因为对于Scratch的源代码都完全翻过几轮,所以充分知道这是一个适合有一定识字能力的小朋友通过编程表达自己开放性创作思维的工具,但是因为这个产品从对孩子的思维能力的训练来说,这是一个与成人编程完全无异的少儿编程产品,不管是创意性、开放性,逻辑思维的训练,计算思维的培养,都完全不受限。当然最主要我想看看,这样开放的一个工具,如果让小丫头自己随意来创作,她能做出点啥?

小丫头的表现

因为小丫头还完全不识字,所以刚让她上手的时候,我需要告诉她哪个积木块是向前移动,哪个是转向,要让她记住是哪个颜色的积木块,及积木块在哪个位置。演示了让小企鹅从左边走到了右边,也演示了从舞台下面走到舞台上面,小丫头的兴趣还是挺浓厚的。接着我问她,她想做一个什么样的作品,我们一起来完成。小朋友表示想做一个蝴蝶吸花蜜的作品。

在告诉她怎么选角色后,小丫头自己操作完成了蝴蝶和花朵角色的选定,还说要给蝴蝶装个吸管,这个操作小丫头没法自己完成的了,所以只好妈妈一起动手帮忙操作完成了给蝴蝶装了个吸管,尝试到这个时候,已然感觉到这个工具针对这个年龄段的小朋友应该还是稍显偏早了一些。不过我还是跟着她一起把她想要的这个作品完成了,完成后小丫头饶有兴致地不断地启动/停止让蝴蝶不停地来回从左边飞到右边去花丛中吸花粉,玩得不亦乐乎,感觉是因为这是自己做出来的作品,所以即使简单也好玩,有成就感。

后来我故意走开,让小丫头随意拖拉拼搭积木块,不一会儿小丫头很兴奋地跟我说“妈妈,我让企鹅翻了一个跟头”——实现了一个简单的编程序列,再不一会儿,她又说“妈妈,我让企鹅不停地在翻跟头了”——运用了循环。没让她持续太长时间,因为我内心已有一个答案,小丫头这个年龄,这个工具可以让她平时有兴趣的时候自己玩一玩,而想把我们设计的体系化的课程教给她,还早了一点。

02

电脑上的code.org

code.org

网址:https://code.org/

code.org,是一个非营利网站,全球“编程一小时“公益活动的发起者之一,网站的愿景是希望每一个学生在自己的学校都能有机会学习计算机科学,并相信计算机科学和计算机编程应当是教育中的核心课程部分

code.org中的课程比较系统化,针对不同年龄段有不同的课程设计,比如针对我家小丫头这样的年龄,它会从训练小朋友的拖拉拼接积木块的操作开始,然后以通关形式课程一步一步递进,每级课程都提供了大量的训练步骤。

小丫头的表现

因为我们家小丫头平时自己就喜欢在网上浏览一些狗狗照片什么的,鼠标的拖拉、点击她并不陌生。因此学习拖放这几关小丫头可能因为简单所以玩得很起劲,以致后面我说我们一起玩会电脑,她说的总是我想玩拼图的这个。

拼图结束,课程进入简单的编程序列的训练,主题都是我们需要帮助愤怒的小鸟设计路线到达小猪所在位置。课程从自己根据路线设计完成编程序列的编写,再到纠正错误的序列,再慢慢深入到用循环来简化代码编写……,路线设计会由简入繁,代码随之也会越来越复杂。

这个课程从设计上来说,课程难度、课程递进、课程衔接、课程覆盖都非常适合任何年龄段的孩子开始编程学习。个人认为对小朋友进行编程启蒙是一个很不错的选择。

它与Scratch相比,Scratch是一个更多倾向开放性创作,而code.org中的课程会更倾向结构化的知识训练Scratch引导孩子运用编程思维进行创意表达,code.org则训练孩子掌握编程思维。所以我们可以互补利用两者进行学习。当然我们也完全可以利用Scratch设计一些结构化课程对孩子进行编程思维的训练,因为Scratch是一个图形化编程语言工具,它本身并不是课程。

03

iPad 上的ScratchJr

ScratchJr

ScratchJr是运行在iPad上的Scratch的简化版,可以让低龄的孩子在不识字、对鼠标操作不熟练时对Scratch先有一个了解,里面积木块很有限,没有条件判断等积木块,所以个人感觉如果是想让小朋友接触一下这个工具玩一玩是可以的,如同Scratch,孩子可以随意拖拉拼搭一些积木块就可以做出一些动画效果,但是想通过这个工具设计一些有递进的课程,不太容易。

小丫头的表现

从我们的体验结果来看,ScratchJr适合鼠标操作不熟练的孩子进行开放性创意表达。因为我家小丫头已有一定的电脑操作基础,想让她自己随意进行作品创作,Scratch已然可以,所以再让她学习用ScratchJr来进行创意表达的必要性不是太大了。

04

iPad 上的LightBot

LightBot

网址:https://lightbot.com

一个点灯通关游戏,通过前进、左转、右转、跳跃等指令让机器人走到灯的位置并点亮,通关完成。这个游戏的设计先从简单的序列开始,然后到要利用子程序(模块化)、循环、递归等才能完成通关。在通关的过程中,训练了孩子的编程思维。从我们的体验来看,通关递进稍显快了一些,我家小丫头玩了两次,第二次就基本上能独立完成第一大关(8小关)的通关了,但进入到第二大关要教她子模块这个概念(需要具备一定的分解问题、模式识别的能力)才能完成通关时,我就感觉有些不好教了。所以只好暂时先缓缓了。

小丫头的表现

小丫头玩了两次LightBot,第一次玩的时候,在玩到第一大关的第二小关时,她感觉有些难,说了一句“好难呀“,所以第一次玩的时候,是由妈妈陪着她不时给出一些指导,玩完了第一大关。在这个过程中,每当小丫头不确定的时候,我说的最多的就是“你试试看,即使错了,电脑也不会生气的”。小丫头就大胆放心地自己尝试,自己纠错——训练她不断尝试、纠错的能力。

第二天再给她玩,玩到第二小关,她依然说了一句”好难呀!“。鼓励了她一下,她就自己慢慢尝试,竟然没一会儿就通关了,这激发了她自己继续往下玩的兴趣,在接下来的过程中,她会自己不断试错、不断尝试,我只在边上看到她有时不小心手指误操作到了一些按键发生的意外情况时,对她进行修正外,其它几乎没再进行什么指导,她自己通过了这8小关。

05

不插电的 Robot Turtle

Rorbot turtle

Robot turtle是一款由ThinkFun出品的桌面编程产品,无需电脑,类似大富翁游戏,需要大人和孩子一起互动操作完成。在游戏通关过程,需要运用各类编程思维,训练孩子整体规划、分解问题、模式识别、分析问题、解决问题的能力

Robot turtle 包含一张地图,四套卡片(四种颜色),每一套对应有前进、转弯、宝石、乌龟、镭射、功能卡片,另外还有一些障碍卡片等。在游戏开始前,先确定参与人数,可以一人、两人、三人或四人,放置好乌龟及宝石及障碍卡片,游戏的目标就是为乌龟设计路线去获得宝石,需要大人一起参与。

小丫头的表现

Robot Turtle如果逐步指令操作,我家小丫头玩起来几乎没障碍,似乎稍简单了一点,即使设计了一些障碍卡片(冰墙、木箱、砖墙),只要把规则跟小丫头说清楚,她都没碰到什么问题。不过我会要求小丫头怎样用最少的卡片(或者说最少的步数)拿到宝石,这样就需要孩子在玩之前就对路线有一个整体规划和完整的推演了——整体构建能力的训练。这个游戏我家小丫头还挺喜欢玩的,相比LightBot,她更喜欢玩这个,不过也有可能是因为玩这个游戏,妈妈与她有互动。

根据这个产品的设计,随着游戏深入,可以教小朋友使用功能卡片,一张功能卡片对应前进、转弯卡片等的一组序列。比如,即仅使用一张功能卡片,就可以让小乌龟一次走很多步——分解问题和模式识别能力的训练,这个对应编程中的循环或子模块概念。由于这个概念感觉对于我家小丫头稍显抽象了,类似于LightBot的第二大关的要求,所以我依然选择先不进行这一步的尝试。

06

不插电的 Code Master

CodeMaster

相比Robot Turtle,Code Master这款桌面编程产品从上手来说,会稍微难一点,Code Master 的游戏核心就是:根据关卡路径颜色要求,设计行动令牌顺序,使得闯关王能够通过令牌对应颜色的路径到达城堡,有的关卡还需要收集水晶,在行进路线设计时必须要将路线中的水晶收集完毕。

小丫头的表现

不知是否因为小丫头已经有前面这些游戏的训练,当开始这个游戏,与小丫头大致说了下这个游戏怎么玩,并示例了第一关,小丫头不一会儿就自己玩出了第二关,接着一下子自己玩了五关。这个游戏要求孩子首先得有整体规划能力,规划出符合通关要求的路径,同时也能鼓励孩子不断尝试试错,一条路径不对,再选择另一路径,同时在这个过程中孩子的专注力和观察力也得到了训练。随着游戏关数递增,通关要求中会增加条件令牌、循环令牌等等,逻辑和步骤会越来越复杂。

ThinkFun除了这两款编程桌面产品外,还有其它三款编程相关的桌面编程产品(Onthe Brink Coding、Rover Control Coding、Robot Repair Coding),这几款产品设计面向的是8岁以上的儿童,小编在自己玩了后,感觉比Code Master要抽象一点,所以对小丫头来说,也先缓缓了。

总 结

在尝试了这几种适合低龄孩子的编程产品后,小编后面会打算用code.org中的课程和ThinkFun的编程桌面产品对我们家小丫头进行编程启蒙。

为什么考虑电脑和不插电结合?

如果要说对孩子的编程思维的训练,那code.org的课程完全可以满足要求,但考虑有时用不插电的桌面产品,一个是想以此增加与孩子的互动时间;再一个它携带方便,随时随地可以和孩子一起互动;另一个也是训练孩子的整体规划能力,因为我发现孩子在电脑上进行编程时,她会习惯拖拉一个积木块就执行一步,这个原本是我告诉她“试试看就知道了”,鼓励她自己尝试、自己试错,但后来发现她针对一些她明明很明确的步骤,她也会习惯这样去操作一下了。

现在因为尝试还有限,后面如果小编发现有更好的产品,或者与孩子互动的过程有新的经验分享,会及时与大家反馈。特别是子模块的概念,从与小丫头这段时间的互动来看,感觉也许再过半月一月的,就可以与小丫头尝试下的了,届时小编一定会再向大家来反馈的。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180910G1J40O00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券