爱玩游戏是孩子的天性,很多学生都喜欢玩些小游戏,有的学生甚至想自己编写一个小游戏,如果用传统的编程语言来编写小游戏对于学生来说太难了,不容易实现,可是用Scratch来编写小游戏却较为简单方便,易于实现。而且学生在编写游戏的过程中,自然而然地就学会了编程技巧。可以说,Scratch更加体现出了“寓学于玩”的这个原则,让学习成为了一种有趣的游戏。
将Scratch引入课堂教学已经有一年多的时间,具体的教学活动以项目学习的方式来进行,这些项目涉及到了游戏设计、故事创编、人工智能、模拟实验等多个方面。通过这一年多的实际教学,笔者真切的感受到Scratch不仅为信息技术课堂增添了活力,更是在利用Scratch进行设计、实验的过程中培养了学生的语言表达能力、思维能力、创造能力以及解决问题的能力。Scratch不仅是一个“益智玩具”,更是一个可以制作玩具的“超级玩具”。
游戏设计是学生在Scratch学习中比较感兴趣的一个内容,如《小猫捉鱼》《F1赛车》《走迷宫》《打地鼠》等等,在游戏设计过程中要涉及到:游戏规则、美工、编程、剧本、角色、场景等等一些元素,这些都是一个游戏在设计时所需要综合考虑的。因此在进行一个完整的游戏设计过程中,学生的表达能力、合作能力、思维能力、动手能力、创造能力、沟通能力、解决问题的能力等都得到了一定程度的提高。接下来笔者就以《F1赛车》为例来谈谈在Scratch游戏设计过程中对学生能力的培养。
一、Scratch让学生的思维变得更活跃
从设计语言的叙述,舞台的设计,角色的分配,到角色设置代码,逻辑条件的创设、判断与循环结构的运用,直到最后反复的修改调试,这是Scratch游戏设计的一个完整过程,这个设计过程有助于锻炼学生完整而有创意地表达自己的想法,帮助他们成为一个思维有条理、逻辑清晰的人。在Scratch中,学生搭建脚本,反复尝试探究获得自己想要的结果,这个过程使学生形成了科学发现的思维方式,而这个反复尝试探究的过程也被学生当成了一种有趣的游戏。
在《F1赛车》中,赛道上有一个弯度很大的弯道,赛车开到这里很容易因为开出跑道而碰到草坪造成游戏终止,学生尝试了很多次都是在这个弯道的地方被迫停止了游戏,这时教师先让学生想想有什么好的解决办法,有的学生想到了游戏中的作弊方法把赛车缩小,这样在转弯的时候就不容易开出跑道,有的学生想到了在弯道两边添加减速带,让赛车在进入弯道时开始减速。学生一开始在设计减速程序时,认为之前赛车是移动2步的,那么现在要减速的话就应该是移动1步,可是在实现的过程中,他们发现当赛车碰到减速带时,赛车并没有像预想中那样把速度减慢了,反而是开得更快了。这一下子激起了他们的研究兴趣,他们有的几个凑在一起研究讨论,有的在Scratch中反复调试,很快有的学生发现虽然添加了碰到黄色就移动1步这样的条件,但每次开始循环的时候都有一个移动2步在最上方,不管条件满不满足,它都在执行,因此,2+1=3,速度是比原来增加的,因此要实现减速效果的话应该是移动-1步。还有的学生则换了一种思维方法,用了添加等待的方法,当赛车遇到减速带时,等待1秒钟,同样实现了减速的效果。经实践观察,Scratch能让学生的思维变得更加活跃,对学生思维能力的培养和提高有辅助作用。
二、Scratch让学生的动手能力得到提高
传统的编程软件需要学生记忆命令、输入命令,如果命令拼写错误,那程序就不能正确运行,对于小学生而言,这就像是一个坎,不仅影响了他们学习的积极性,而且还容易造成他们的畏惧心理,直接影响到他们动手操作。而Scratch中的命令无需记忆,从指令集中拖选出来即可,程序的代码更容易阅读,更容易理解,使得游戏设计变得较为简单,因此学生也都乐于动手尝试。
《F1赛车》中,在学生开始游戏设计时,我先让学生想想这个游戏的游戏规则也就是赛车的规则是什么?学生一下子就想到了两条游戏规则,“如果赛车碰到草坪就会停下来”“如果赛车碰到终点就会停下来”,继而教师从这两条规则中引导学生发现了“如果……就……”这个条件语句和“碰到……”这个侦测命令。接着让学生说说这两条游戏规则中,哪个是条件,哪个是结果,学生通过这样的语言表述初步感知了条件语句,因此接下来学生很快就能从控制指令集中拖出 “如果……就……”这个条件语句来搭建脚本。最初我还想通过教师演示来告诉学生侦测命令应该放在什么位置,怎么使用,可是在课堂上他们强烈地要求让他们自己动手试试,这是以往上课没有遇到的情况。很快他们通过自己动手尝试知道了“碰到……”就是条件语句中的条件,应该放在“如果”后面的六边形框中。同样在学到侦测命令的时候,我让学生自己动手试试,“碰到草坪”和“碰到终点”侦测到的内容一样吗?有的学生通过尝试,告诉大家“碰到草坪”和“碰到终点”侦测到的内容可以都是颜色,有的学生通过尝试,则告诉大家“碰到草坪”可以和“碰到终点”侦测到的内容不一样,前者是侦测颜色,后者可以是侦测对象。
以前学习编程语言时教师督促学生动手实践,现在Scratch课堂上学生积极主动地要求动手尝试,因为他们把Scratch学习当成是一个游戏,而动手尝试的过程就是游戏中的攻关。在攻下一个个难关的时候,他们的动手实践能力也得到了提高。
三、Scratch让学生的创造变得无障碍
与传统枯燥的编程不同,Scratch卡通化的图形界面和搭积木式的编程序方式使得学生的学习兴趣和学习积极性被极大地激发,创作的欲望增强。使得他们能专注于想象与设计并轻松将其实现,真正实现了“只有想不到,没有做不到”。这种变化能在很大程度上缩小信息技术课堂上学生操作层面的差异性。而我们在Scratch教学中,将平时的“做中学”进一步发展成为“边设计边学习”,让学生在设计和创造中学习。
从课堂实践中可以看到,当学生自主设计并创作作品时,会因为想法与实现技术间的冲突而需要不断修正最初的设计,因此整个制作过程他们将会创造性地解决不断产生的问题。我也惊喜地发现学生的创造力得到了充分的展现,他们的灵感也不断的闪现。在《F1赛车》中,当学生完成了一辆赛车的游戏设计后,我要求他们为赛车比赛再增加点难度和趣味性,有的学生想到了再增加一辆赛车,进行两辆赛车的追逐赛;有的学生想到了换一个赛道场景,让F1赛道更加曲折蜿蜒;有的学生想到了在赛道中增加几个水塘,让赛车碰到水塘后就发生打滑;有的学生想到了设置计时器,同桌之间比比谁的速度更快……学生们的想法层出不穷,而他们在把自己的想法转化为程序的过程中,有的人一次就实现了,有的人在编程过程中发现了需要调整的地方,有的人则在编程的过程中又有了更好的想法,思维的火花在不断地迸发,进而上升为学习和探索的动力,最终每个人都把自己的想法通过Scratch实现了出来,每个人设计的赛车游戏都是独一无二的。
在Scratch课堂上,学生可以自由地去想,同一个游戏,由于每个人的思维方式的不同、审美眼光的不同、挑选素材的不同,使得每个人的作品都是不一样的,每个人的作品都有着学生自己的鲜明个性。
(孙晓莉,苏州市平江实验学校,215000)
责任编辑:赵赟