大家有没有和我一样的感受,现代技术正在改变着我们生活的每一天。
今年7月份我跟孩子们在剑桥大学做学术交流,期间也参观了剑桥镇的计算机博物馆,里面展示了从第一台计算机到现在的计算机的演变,看到这些计算机的“体型”,感觉自己仿佛回到了童年。▼
看着这一排笨拙的计算机身影,孩子们惊讶极了,反复去确认计算机发展的年代表,不断发出感叹:
天啊,短短10年,计算机已经有那么多的改变!
所以现在当孩子们深度学习编程和机器人的时候,我能感受到他们欢呼雀跃的探索心情。而且在深度学习之前,我和孩子们已经进行了3年多的编程活动了,即从幼儿园开始,他们已经在接触并掌握着基本的编程知识,去学习如何像程序员一样思考。
而且在这个过程中,我跟孩子们用的教具是乐高、纸,而不是电脑上的代码,下面跟着我的步骤来了解,你一定会觉得相当有趣。▼
我根据这几年跟孩子玩的经验心得,整理了4个级别的难度,里面涉及到了各种编程概念,大家在跟孩子玩的时候,也可以用起来。
第一级:让孩子学会从迷宫中人物的角度思考
程序员思维方式中很重要的一点是代码转化,所以在玩乐高时,孩子能够看到具体的问题,并且帮助他们的乐高小人走出迷宫。这个是最简单的教会孩子从不同于自己的角度去思考。举个例子,我跟大家示范一张图,当你拿着这三张牌问孩子,乐高小人怎么走,才可以碰到小马呢?如果孩子没有站在乐高小人的视角看,孩子给你的答案可能并不一样。▼
对于刚开始接触编程的孩子来说,学习如何转化视角,相当关键。
你可以用乐高迷宫跟孩子做这几个梯度的游戏。比如题目1,你先让孩子理解“乐高小人的角度”是什么概念,比如刚刚的问题,“乐高小人要怎么样才能够到小马?”答案就是:向前走。▼
等孩子了解这个基本概念后,你可以给孩子继续出一道题,就是带转弯的迷宫设计,比如下面这道题目2:“乐高小人怎么走才能够到小花呢?”▼
你需要递给孩子一些相应的方向牌,帮助孩子完成解题,我在文末的资料分享里都有,大家可以先下载出来打印和裁剪好,比如你给孩子的基本卡牌是“前进、左转、右转”这几张,▼
然后就可以引导孩子去试验,直到孩子跟你一起找到这个答案。▼
第二级:让孩子学会使用循环指令来完成命令
如果孩子已经对第1级掌握的比较熟练了,那么你可以引导孩子学习如何使用一个循环。举个例子,下面这道题目,同样是乐高小人去够到小马,那哪一个方案是1级语言,哪一个方案是2级语言呢?▼
如果孩子使用的卡牌一直保持“go forward” “go forward ”“go forward ”,这是第一级的编程语言。但如果孩子使用的卡牌是“for 3 steps go forward”,就达到了第二级的编程语言了。
引导孩子去思考“用多少步”,而不是一遍又一遍地重复相同的卡片,这便是编程语言的“for”循环。
所以在第二级的时候,关键是引导孩子学会如何说“下一个命令执行N次”的概念,比如向前走3步,再转右,都是在帮助孩子理解“for循环”的概念。大家可以看看这个图更直观地了解两级语言的转变。▼
第三级:引导孩子用条件语句来抽象思考
条件语句(if、else if)是帮助孩子提高决策力,我之前在文章跟大家分析过。这是孩子学习抽象思考的必经之路。实际上,当你在写程序的时候,你需要考虑所有的可能性,并且评估每种情况下应该做什么,以怎么样的顺序来执行。比如下面这道题目,乐高小人如何够到小马?▼
这里你会发现,乐高小人前面可能有墙,也可能没有墙,左边可能有墙,但右边可能没有墙,这些形成的乐高迷宫,都需要孩子思考乐高小人的行进路线,通过思考这些可能性,基于有限的选择就可以编写出多种代码,这便是孩子设计代码的过程。
比如:“如果我面前没有墙,我就往前走”、“如果我可以左转,我就往左转”,这些都是条件语句的应用。▼
第4级:引导孩子大量测试来找到新的可行方案
玩编程时孩子会遇到非常多随机题目,但我并不鼓励给孩子提供标准答案。因为引入随机性,让孩子去思考不同选项对整个程序的影响,是非常重要的编程思维。比如下面这道题,同样是走迷宫,它就相对复杂很多,对孩子来说,可迷惑的选项也多很多。▼
比如这些是Eric和Joshua的方案,两人的方案放在一起,就可以明显看到一级编程语言和二级编程语言在逻辑上的不同思考之处。
到了第4级的时候,我也会跟孩子玩另外一个游戏,就是用同一套代码,设计不同的迷宫。比如给孩子一张空白的迷宫图纸:▼
再随机给孩子一个代码设计,之后就可以让孩子去根据这些代码来设计一个属于乐高小人的迷宫了。▼
对于年幼孩子来说,他们设计的过程可能会出很多状况,但没关系,编程就是不断试错的过程,我们对孩子编程入门的唯一要求,就是鼓励孩子多尝试,通过大量的测试来找新的可行方案。
孩子可能会发现,如果他们尝试在不同的迷宫里使用同一个代码,反而有可能会让自己无法成功,体现在自己的乐高小人如果按照自己的程序去走,最后一直都在死胡同里打转,这便是程序里常说的“无限循环”。
所以如何引导孩子用同一套代码,设计不同的迷宫,但又能让乐高小人顺利逃脱呢,这便需要激发孩子更高级的编程概念了,甚至这是孩子编写程序的基础;而如何写一个程序,可以让乐高小人走出任何的迷宫?这便是孩子后面可以探索的方向。
比如我之前分享过的文章:想学编程的孩子一定要了解,这个宝藏网站不可错过(附资源下载),里面的一些编程迷宫游戏(点击可查看),其实也是编写程序的过程。▼
资源分享和下载
今天分享的这些方法,都在今天的这份资源包里了,共有10页,里面已经包含了各种编程指令,例如“Go Forward”、“Turn Lelf”、“Turn Right”等等,大家可以裁剪下来使用,需要多少就打印多少。▼
资料包里还提供了可以用来做编程设计的迷宫题目,让孩子可以通过这些题目把编程知识运用得更加得心应手。▼
根据今天文章里的4个等级难度,大家可以利用这份资源和孩子玩起来,直接在私信回复关键词“编程迷宫”,就可以下载打印出来看啦,跟平时微信聊天一样。
编程之于孩子来说是打开了一个新世界,但对于我们来说又何尝不是呢?运用编程思维的过程提高了我们的决策和分析的能力,当孩子正儿八经使用编程语言来设计程序,像Joshua现在在学的Scratch,背后都是逻辑在支撑着。
但是最开始的时候也不需要太紧张,万事贵在有趣,我们能让孩子体会到趣味性就很好了,乐高迷宫是趣味性很高的编程游戏,也让我们换一个角度去看平常玩的游戏,这或许就是乐高和编程的新融合吧!
如果孩子喜欢上了这个方式,也对编程语言有了基本了解,下一步就可以跟孩子玩编程机器人了,这是一个很大的编程思维的飞跃。
我们孩子是从3岁开始接触各类编程机器人,学校更是围绕编程机器人开展了很多活动,让孩子可以在教室里直接地用编程来学习、游戏和研究。
等在以后的文章,我再来跟大家分享下这些年来我家孩子体验过哪些好玩有趣的编程机器人吧~
【END】
作者萌芽,学龄前家庭教育品牌【小芽启萌】创始人,全球婚姻疗法和情绪训练权威机构约翰戈尔曼的首位中国实习治疗师。 公众号萌芽研究所BUD(ID:myyjs_bud)专注于早教启蒙和亲子沟通,是百万妈妈信赖的育儿号。