在Scratch环境下培养小学生解决问题的策略
2018-09-15王惠强
摘 要:Scratch是一款积木式的儿童编程软件,学生可以把自己的所思所想以作品的形式进行呈现。在创作的过程中他们也会遇到各种问题和困难,通过创角色表、问题分解、策略变换、迁移应用、善于查错等解决问题的策略指导,让他们体会到学习的乐趣,提高解决问题的能力。
关键词:Scratch;小学生;解决问题;策略
Scratch是一款面向少年儿童的可视化编程软件,通过积木组合的形式让儿童创造出个性化的故事、动画、游戏、音乐、艺术。小学信息技术课堂教学引入Scratch,给学生的想象力和创新思维提供了施展的舞台,让创作变得如此轻松和快乐。在创作过程中遇到的各种问题,通过教师进行有效地解决策略指导,使学生获得创造性思考、逻辑推理和协调工作的机会以及利用算法思维方式去解決实际问题的能力。
一、 创角色表——理清关系,描述指令
一个完整的Scratch作品,必定包含着多个角色,它们都有自己所要实现的功能,并且存在着相互间的各种联系。利用角色分析表,帮助学生清楚直观地描述角色,理解它们间的相互关系。以创作《天亮了》动画为例,先让学生观察范例,了解动画的基本内容:太阳从左下角慢慢升到了天空,草地渐渐清晰起来,母鸡妈妈领着一群小鸡来觅食啦。在此基础上指导学生完成角色分析表:
学生刚接触角色分析表时可以使用填空的方式,如上述表格中的动作描述填空,旨在帮助学生理解每个角色出现的时机,相应的动作等要素。再逐步指导学生自己独立完成相应作品中的角色分析。
二、 问题分解——化整为零,各个击破
小学生在Scratch作品的开发过程中,最大的障碍不在于技术储备的不足,而在于不能正确分析和分解问题,没法将一个看似复杂的未知问题分解成已知的,简单的问题。造成学生学习自信心下降,作品完成度不尽如人意。教师要帮助学生学会把作品进行合理的分解,把复杂的、笼统的问题拆解成一个个小的、可执行开展的问题,找到合适的切入口,通过击破一个个“点”来完成最终的“面”。在设计“吃豆人”游戏时,通过角色分析表的帮助,学生理清了豆子、吃豆人、怪物、迷宫等角色间的关系,这时就着重引导学生对每个角色所要实现的功能逐一分解解决。如在实现“吃豆人”角色的功能时,先解决如何实现“上下左右移动”,再解决“遇到墙壁怎么办?”、如何吃掉豆子?遇到怪物如何处理等问题。
再比如:用Scratch绘制如下图形时,指导学生观察出基本图形是正方形,逐步实现一个正方形、横向一排、向上叠加的绘制方法,最终实现效果图的绘制。
把问题逐步分解的策略,在学生的学习和生活中应用广泛,通过这种能力的培养可以帮助他们解决许多看似复杂的问题,从而更好地适应社会和生活。
三、 变换思路——改变想法,优化脚本
在解决相似问题的过程中,学生往往容易造成一定的思维定势,会形成公式化地解决方法。一旦问题稍有变化,会出现用习惯性的方法行不通的情况。如在设计小鸟边飞边说话的作品中,学生习惯思维是把说话指令放在小鸟角色里,但这样会出现小鸟飞行不流畅,画面出现闪烁现象,通过反复修改脚本仍无法达到满意的效果。通过分析发现这是因为造型切换的过程中,不同造型的中心位置发生了改变,没办法统一中心位置。这时就要帮助学生尝试变换思路,另辟蹊径:新建一个新角色,可以是一个小点,把它放置在小鸟角色身边,不要让人发现它,让这个小点角色来说话,这样我们看到的效果就如同小鸟在说,并且也不会再闪烁了。
同一个作品,因为每人的思路不同,看问题的角度不同,解决问题的方法也截然不同。在此情况下,引导学生对作品、脚本的对比,优化解决问题的思路,并能根据不同的应用场景选择相对优化的方法来解决。如:在作品的创作中学生经常会涉及如何控制角色的运动的问题,用键盘方式可以使用“事件”中的“当按下…键”,也可以使用“侦测”中的“按键…是否按下?”。用鼠标方式可以使用“移动鼠标指针”或是“面向鼠标指针\\移动..步”等指令。采用的方式不同,相应的脚本程序也不一样,效果也有所不同。这就需要指导学生根据作品的要求来选择合理的解决方法,使脚本更优化,作品效果更好。
四、 迁移应用——举一反三,融会贯通
孔子说过:“举一隅,不以三隅反,则不复也。”迁移是学生掌握学习方法的最优途径之一。培养学生迁移能力,是实现“教”且为了最终“不教”的关键,是提高学生解决问题能力的有效途径。教师要帮助学生整理同一类问题的基本解决方法,并把它们迁移到新作品的创作中。如:学生解决了画楼梯的问题,可以尝试改变基本形状、改变叠放方法等,创作出不同的图形。
掌握了使角色能够随机位置出现的方法,就可以应用到“接红包”“打飞机”等作品中,使角色出现的位置不固定,增强了作品的可玩性。同时也要引导学生善于把其他学科知识迁移到Scatch作品中。如:要用脚本程序来解决“鸡兔同笼”问题,就可以借鉴数学学科中“解决问题的策略”的相关方法。
五、 善于查错——正视错误,积极改进
Scratch本质是一种编程语言,在用它来创作时难免会出现各种各样的错误(bug)。许多学生在遇到错误时不善于按照一定的流程或方法去检查问题,经常会发生草草了事和轻易放弃创作的情况,使得作品达不到预期的效果。在实际教学过程中,师生可以一起收集和整理常见错误,形成帮助手册,创作中遇到问题时尝试先从常见错误中寻找答案。如:使用“如果……”指令时,不把它嵌套在“重复执行”脚本里经常会得不到所设想的效果,而这恰恰又是初学者最容易犯的错误。还要教给学生一些查错的技巧,对于一些隐藏很深,一时无法查找的问题,使用“说……2秒”积木是一个不错的方法。把它嵌入到怀疑的脚本处,通过观察相应的数据,可以较快地判断出程序的执行情况。
作者简介:
王惠强,江苏省太仓市,江苏省太仓市金仓湖小学。