来源:中小学为师在线 2018-06-12 15:28:17
乐高风格,科幻风格的流程图 (或文字) 展示代码。机器人在玩家的计划下,穿过场地去找电池充电的故事。场景三维的,有透视效果,转起来的时候我有点晕,但是没吐。一共9页,共45关,我玩了大半宿,可能4个小时左右,挺有意思的。
游戏有这么几个特色,因此适合初学者上手学习编程。
3.1 受机器人能量 (步数)限制,类似于 lightbot 的槽位,逼迫或诱导你不得不选择新学的手段完成任务。
在软件工程科目中,同学们通常都会有疑问,我用更基本的方法明明能做的题目,为什么非得逼我用你的某种方法。教师强迫使用,会让同学们形成对威权的服从和避免思考带来的伤害,也不会信服新方法就多么好,尤其在问题规模并不大的时候。所以,适合的限制,使得使用旧方法一定不成,就不是人为的,而是来自自然力的限制,让人舒服多了。
游戏里通常有这样的设计,比如《帝国时代》的任务里,明明你的那个兵种这么这么就能赢,但是他刚好那天把刀放在了家里,只能徒手格斗。这种限制,如果你能接受作为游戏一部分,而不是故意难为你,那么还是挺有意思的。如果你不按受,那么感觉就类似于足球场上22个人抢那么唯一的一个球,多发几个不就行了嘛。
3.2 循序渐近地引入知识。Robot School 比 lightbot 的关数更多,涉及的技术手段也更丰富。在这种情况下,逐步而不是一次性引入所有操作,就非常必要。
基本动作涉及:行走 (距离),转弯 (方向),开门,开盒子。这些动作帮助掌握顺序执行和多种语句 (服从目的或遵循上下文环境)的选择。
逻辑控制包括:循环 (次数),在循环中行走、转弯、开门,多重循环 (在循环中循环)。在循环中插入动作,不像 lightbot 中那样槽位明显,而是可以扩张的隐含的语句块。
循环的引入也是个特色,通过 碰撞检测道具 (每步检测),机器人捡起那个道具以后,肩膀后面会多个像火箭炮一样的装备。到最后可以装上3门之多,各有用途。每步检测,表达的是循环,检测磁撞,相当于 if,连接在一起就是 while (cond) { do something; }. 这让学习者对于 while...do 中到底发生了什么,有了可视的认识,更容易想像。
大炮筒一样的道具,除了碰撞检测,还有颜色检测。最初只是根据颜色作判断 (引入判断分支,然后引入判断嵌套),后来颜色可以临时存储在变量中,等到以后再提取出来使用。
大炮筒道具,还有障碍距离检测,检测的结果也可以存入变量中。这样,又引入了多个变量以及变量命名的必要性 (不涉及变量命名的易读易记 convention,仅用于区别三两个变量)。
进一步,变量需要做简单的算术运算 ( des1 -3 这样的),从而引入了表达式,然后把表达式置入检测条件。
最后阶段,引入了一个障碍物,可以搬起来、带着移动、放下。这个障碍物的引用,看起来是前面所有知道的综合应用。在多个障碍物的关卡中,受能量的限制,玩家需要把 (1) 多次搬移砖块, (2) 用相同而有略有差异的语句表达, (3) 然后放入循环中,把差异作为循环中的变量。这要求在流程中发现模式,并用抽象 (abstract/common) 的方式表达出来。
最后一关,看起来阴森恐怖,是个迷宫。迷宫并不会变,但是能量不足以供你根据迷宫的样子写出计划,所以,需要写出能走出迷宫的算法。二猫说,这个我从一本书上看到过,如果走不出去了,就沿着一侧的墙走。我听说这叫做走迷宫左手或右手法则,用 Robot School 流程图的面板写出来不短,所以完成以后颇有成就感。
4. Scratch (不是移动端APP)
以上这些游戏,二猫有的在我帮助三两次后完成,有的还在进行中,兴致盎然。Scratch现在自学加我的帮助,玩得也很高兴,并且是这里面最喜欢的。
有不止一位同事朋友向我推荐过Scratch,大名鼎鼎。最初我自己尝试的时候体验并不好,因为网速。后来下载了PC版本,用起来倒是流畅了,如果不分享作品到官方站点,可以容忍。提醒你时不时更新一下。我曾经遇到过一个非常费解的变量和循环的问题,感觉应该可以那么用,虽然教程和手册都没有提到。请教了三两位同事朋友,等答复期间发现,是我的 Scratch PC版版本低,升级了以后毛病全无。
有些同事朋友的孩子直接使用了英文版,或者英语才是他们的母语,教程和工具都用英文,更方便一些。就二猫而言,做了几个实验以后,仍然更喜欢中文版,虽然她也认同中文版的翻译错误,比如 "mouse down" 翻译为鼠标下移,而其含义是鼠标左键单击。
二猫第一次接触Scratch时小学一二年级,做的是小猫跳舞。没有看教程或视频,带着她做了一遍,过程中讲解需要的几个部件,然后她自己修改和重做。作品是一个角色换几个动作 (循环10次) ,换动作的时候放一小段声音,看起来像跳舞的样子。二猫认为角色动作生硬,更像是体操,但是觉得挺好玩。
最近让她读了一本中文教材,然后她自己照做和修改了一些实验。教材是 Scratch儿童编程乐园,凌秋虹 编著,江苏科学技术出版社。连同网上还有些中文的手册和教程,我自己都没有读过,没法推荐。英文的,据说 youtube 上视频教很多,官方站点上也有,但是,都是看不到的。英文手册可能也不错,不过,如果你是程序员打算教孩子的话,我猜不用太看。容易学会,困难的是教会孩子。
相关推荐:
小升初试题、期中期末题、小学奥数题
尽在奥数网公众号
欢迎使用手机、平板等移动设备访问 ,幼儿教育我们一路陪伴同行!>>点击查看