开始教我家的小朋友编程了。
小朋友的思维够活跃,动手能力与理解能力甚至是记忆能力都超出我的想象。之前在苹果公司的Playgrouds上教过他一些编程的思路,也让它自己尝试着编写命令的组合,最终完成关卡的试验。他也是乐在其中的。看着角色“Byte”在自己的命令组合中,采集宝石,切换开关,最终走向终点,小朋友也很是开心愉悦的。奈何“Playgrounds”虽然动画与命令结合,寓教于乐,但是编程难度上升太快,小朋友理解能力跟不上编程难度,后来的循环嵌套等等已经超出了六岁小学生的理解能力了,只能忍痛放弃。
因为我贼心不死,又找到了Scratch。自己尝试编写了十几个Scratch游戏和程序之后,我是真心觉得它非常适合针对6岁及以上小朋友编程入门学习,不需要编写代码,全都是以积木的搭建形式完成编程,可以编写游戏,数学曲线,绘制图形也可以和实体硬件配合编程。
为了能让我家的小朋友感兴趣,我特地写了一套教材,第一课就是介绍游戏制作以及Scratch的使用。我的思路是先谈谈游戏制作的相关内容,因为Scratch的教学主要以游戏为主。那么想来设计游戏的核心内容讲讲肯定是没错的,所以我的教程的画风是这样的。
结果还没讲完,小朋友都表现出了强烈的不感兴趣,因为他真的不关心这些,他关心的是“爸爸,我想做出我玩的植物大战僵尸游戏,卡车游戏等等”,你的那个什么核心,目标什么的,听得只能是头大啊。后来想想与其讲半天这些,还不如放一两个经典游戏视频更直观,小朋友更感兴趣。
所以我只好调整战术,果断放弃继续深入游戏制作理念,转而引入第一个游戏会是什么样子的。
狮子鹦鹉和小苹果
当看到有游戏的时候,小朋友精神头就有了。当我还在介绍游戏规则的时候,小朋友已经开始自己脑补游戏内容了。我发现与其我一个劲在这里说半天这个游戏上面的所有角色要做的事情,不如用提问的方式,让小朋友来回答。
“你猜猜这是个什么游戏?”
“鹦鹉是要做什么的?”
“狮子呢?”
“苹果呢?”
询问的过程中,调动了小朋友的积极性,同时也把这个游戏的核心理念告诉给了他。
鹦鹉在天上飞,要吃移动的苹果,吃到苹果得分,但是被狮子抓住游戏就结束了,而我们要控制的就是鹦鹉。(是的,游戏规则有点,嗯,你懂的,为教学服务嘛。)
讲完核心内容,为了进一步引起兴趣,我直接运行了已经制作好的游戏,并且让小朋友试玩了几次,从一开始的一分都拿不到,到后来有点找到方法,连续得了好几分,小朋友也玩得相当开心了。所以当我告诉他,接下来你就要自己做出这个游戏时,他是相当兴奋的(至少看起来是)。接着,我引入了游戏的制作软件——Scratch。
我原本教程里是计划向西介绍Scratch的所有内容的,但是根据之前的经验果断放弃了,只是简单介绍了基本操作如:运行、停止、积木区域、脚本区、角色区域。这些各自在什么位置,至于做什么的简单说一下,然后直接让它上手实践,果然小朋友还是喜欢自己动手的。
两块积木谁先内容
只要让他跟着我们的指令来操作,都不用向西解释积木的作用,多试几次,小朋友自己就知道这些积木的作用了,记忆和理解能力相当强。如果没记住呢?说明做得不够多,后面的教程里超多游戏制作会反复用到积木使用,所以完全不用担心。
Scratch积木
当创建角色后,拖动上面积木,实现让角色说话后,第一次编程也就完成了。里程碑式的操作,Scratch的“HelloWorld”。你甚至都可以不用敲键盘,因为很快我就发现,拼音才是最大的敌人。
然后进一步熟悉基本操作。
完成对话效果
进一步引导他完成在切换背景的同时,让角色说出不一样的话,或者做出新的动作,依然是积木的堆积,现在只是熟悉Scratch的基本操作,并没有自己解释积木的含义。当然,积木本身的就已经很明显的表达了自己的含义。
第一次切换背景(一块积木实现)
再次切换背景
切换背景的同时,改变角色对话
一些列角色,背景变化,以及基本操作后,小朋友熟悉了软件操作也得到不少乐趣。放心让小朋友自己修改内容,随意运行看看结果,绝对提升他的兴趣。