张舒驰
[摘 要]Scratch是小学阶段无编程基础下学习程序设计制作的最佳软件,这款软件通过各种类型控件组合搭建的方法,实现程序的设计制作。所有人都可以将其作为学习编程的入门软件,开发各种有趣的交互式动画,在Scratch社区平台上公开发布自己的作品。这款可视化编程软件的引入,对培养学生创新、合作、分享的能力具有积极的意义。而Scratch编程教学需要与小学生心理特点相结合。
[关键词]小学;Scratch;信息技术
Scratch编程部分属于《中小学信息技术课程指导纲要》中的程序设计模块,能够适时地为学生引入程序设计的思想,使学生掌握一些基本的的编程方法,让学生理解运用信息技术处理和解决问题的方法,為学生在信息技术领域的个性发展提供必要的支持。在小学阶段,程序设计的目标是让学生在自己动手创作的过程中体验编程的快乐,表达自己的想法,并同其他伙伴共享交流。相比于传统的C++、VB、Pascal等编程语言,Scratch更加易于激发小学生的学习兴趣,培养其实际应用能力。以下结合笔者的教学经验,探讨如何在Scratch的教学中激发学生兴趣、创新思维与合作意识。
一、Scratch程序简介及特点
Scratch 是一款由麻省理工学院(MIT)设计开发的面向少年儿童的简易编程工具。由“终身幼儿园团队(Lifelong Kindergarten Group)”开发,2012年开始在国内普及,根据8岁以上儿童的认知发展水平及对于可视化界面的兴趣,MIT对此做了深入研究和针对性较强的开发设计[1]。这款程序简单,即学即会,特别适合没有任何编程基础的人。Scratch界面友好,内置素材生动活泼,不同于以往编程的纯代码界面,而是采用内置程序模块,可用组合搭建的方式实现编程,简单易用,这是该软件最明显的优势。
1.操作简易,内涵丰富。Scratch程序所见即所得,编制程序的过程被称为“搭积木”,通过这种搭积木的方法将各种命令模块进行组合。儿童在创作程序的时候如同在搭积木,以至于在入门阶段不必弄清积木命令所代表的具体含义,不需要复杂的编程思维,就可以编写出有趣的程序脚本。Scratch看似简单,但却包括上百种“模块”可供儿童使用,分为建模、控制、动画、事件、逻辑、运算等八大类,涉及程序设计的多个方面,使儿童在编程过程中可以得到多种能力的锻炼。此外,程序自带角色及背景资源库,儿童也可以依照自己的喜好与想象去创建各种角色和场景。
2.分享作品,获得支持。Scratch具有一个共享与支持的官方网站,是一个规模庞大的分类主题学习社区,里面有上百万来自世界各地的用户,包含200万件以上的Scratch作品。儿童可以在Scratch官方网站学习、欣赏他人的作品,自己也可以将作品发布到这个网站上,方便了儿童的交流与创作。最新版本的Scratch2.0又增加了很多功能,如“云++”功能,可以帮助学生更好地理解“云”的概念,更便于管理和交流作品、组织创作教学等。
3.功能强大,扩展性强。Scratch除了具备制作一般的动画、交互式程序功能之外,还可以借助硬件设备如Arduino等开源主板,使学生可以自由搭接各类传感器、马达、灯泡、喇叭,甚至家用电器、手机等。所以Scratch程序在接口如此丰富的平台上,使学生可以创造出各种有趣的创客作品、智能设备等,成为实施创客教育的一个重要工具和入门课程,利用工具完成设计的过程本身就充满了创客精神。
二、Scratch课堂教学实践
在Scratch教学实践中,为了让学生以游戏的轻松心态学习,并体验成功与快乐,笔者会对教材的标题和内容进行适当改编,使其更具趣味性、故事性和开放性。如把《移动和旋转》改编为《大鱼吃小鱼》,把《快乐的小猫》改编为《小猫投篮》等。教学中不过分强调命令的规整与模式,而以完成愉快的游戏性项目为目标,在潜移默化中提升学生的Scratch编程能力。下面将以《小猫投篮》为例介绍这一教学过程。
1.提出主题,设计思路。教师先与学生一起观看NBA比赛投篮的视频花絮,之后引出本课主题:Scratch软件的主角小猫,希望扮演NBA的球星,我们要帮助它实现这个愿望。接着依次提出以下问题请学生思考:小猫需要做哪些动作?怎样控制小猫的动作?小猫怎样才可以投蓝?投篮以后怎样控制篮球的运动轨迹?学生回答:小猫要能够拍球,要能够运球,要能够投篮。我们可以通过键盘或者鼠标来控制小猫和篮球的动作和轨迹。教师又问:除了小猫这个角色,还需要其他角色吗?学生回答:篮球、球场!于是教师请学生拿出纸笔画出游戏草图,要求包含背景、角色、比赛的运动方式、要用到的控制键。学生自主设计后,依次展示游戏设计的概念图(见图1)。
NBA视频让投篮的动作更加清晰,舞台草图使“小猫投篮”游戏的结构、对象、动作一目了然,可锻炼学生系统规划设计的能力。
2.范例研习,模仿制作。在这个环节,教师先示范一种移动的操作方法,随后让学生模仿制作出其他方向的控制脚本,从而顺利地实现小猫和篮球的移动。随后,根据篮球运行的轨迹特点,引入移动到坐标的概念,完成投篮的动作。通过简易流程图的出示,让学生的程序结构思想得到进一步锻炼。
3.扩展延伸,合作创新。Scratch的核心理念是想象,但在初学阶段就让小学生独立创新不现实,这时教师提供的资源库及方案很重要,使学生能够熟悉运用各种“零件”并灵活组装“零件”,这才符合Scratch模块化、可视化编程的理念。很多创意和想象实际上就是由若干模块组合而成的,通过这些“零件”,为学生创新提供脚手架,使他们的创意得以实现。如在完成了“小猫投篮”游戏后,教师问如何使游戏变得更有趣,学生提出可以增加篮球的特殊效果、可以增加另外一只小猫和它打比赛、可以将投篮换成足球射门……这时教师自然地引出“百宝箱”脚本库,使学生可以根据自己的创意,选择脚本进行创作。“百宝箱”中包括各种不同动作及特殊效果的脚本截图文件,学生也可以自主创作设计新的脚本。
4.成果分享,体验交流。学生完成并运行程序,改进作品。然后每个小组选出一个代表作品,在全班进行演示直播。演示完毕后,每位学生通过在线评分系统提交作品,得出每组作品的成绩。同学会对作品进行评价总结,教师也会点评。最后被推荐的作品,可上传到Scratch官方网站。这是一个学生体会分享的快乐、成功的喜悦,交流学习优秀创意的环节。即便没有被推荐为优秀作品,也可增强学生的小组合作荣誉感。为避免机会不均,在之后的作品展示中,已經被选出参评过的学生不参加评选,直到小组内每个人的作品都有机会代表小组参评和上传。这样使每个学生都有机会充分展示自己。
三、对Scratch课堂教学的思考
1.增加趣味性,使学生快乐学习。寓教于乐,才能让教学事半功倍。Scratch功能强大,可设计并开发各种类型的作品,如游戏、故事、音乐等。教师要善于从学生的日常生活中发现他们的兴趣点,如学生喜欢看的动画片、喜欢玩的游戏等,从中寻找素材,融入教学,让学生感兴趣,并在学习中获得乐趣。教师不必在一开始就详细讲解某一脚本的功能,而是先向学生提出问题,请学生思考解决问题的方案。鼓励学生提出多种解决思路,如果学生讲到超前于本课的内容,教师也可以顺势拓展,不必遮掩或限制;如果有学生无法掌握某一脚本的使用,则可提醒学生考虑其他可替代的方案。教师需要在每节课的课题上多花心思,通过有吸引力的标题,设置悬念,激发学生的好奇心和想象力,使学生在愉悦的体验中,获得知识与技能,提高解决问题的能力。
2.设置分解任务,助学生逐步提高。维果斯基的“最近发展区理论”指出,学生的发展有两种水平:一种是学生现有的水平;另一种是学生可能达到的发展水平,也就是通过教学所获得的潜力,两者之间的差异就是最近发展区。因此在Scratch课堂上,要为学生设置难度适度的任务,使学生的能力通过完成或超越最近发展区而逐步提高。由于学生之间的水平往往有差异,教师在设置任务时,要将任务分解,创设由易到难的梯度。这样,学习有困难的学生也能通过教师的适当指引提高探究能力,举一反三,并最终完成任务。而对于能力较强、完成任务较快的学生,教师要向他们提出改进与创新的要求。分解任务有利于发现并解决学生遇到的各种问题,从而完成总的教学目标,使绝大部分学生可以轻松完成任务,获得较强的成就感。
3.鼓励分享,培养合作意识。Scratch具有很强的开放性,教师要充分利用这一特点培养学生的创新思维。可通过课内共享的方式,让学生互相学习和评价作品,从中发现自己的不足,看到别人的长处,激发创意。要鼓励学生登录Scratch社区分享自己的作品,可以让访问者进行网页交互式体验,甚至允许观看者进行二次开发。此外,Scratch教学鼓励合作,教师要充分发挥课堂小组的作用,让学生体验到合作、竞争与分享的快乐,从而引导学生逐渐成为课堂学习的主动探索者。
四、结束语
一些好的创意往往来自于学生而不是教师,学生的思维方式与成人大不一样,但学生所感兴趣的事物往往是相通的。因此,教师注意收集学生优秀作品,整理成集,作为教学范例和素材,往往比教师自己开发的内容更有利于学生接受。
用Scratch这种模块化的组合方式编程,不同于传统代码界面编程方法的枯燥和无趣。Scratch让编程变得更加直观、易学,特别是对于儿童的认知发展水平来说具有巨大的优势。Scratch编程对于培养儿童的创新思维具有重大的意义,虽然我国的Scratch编程教学在很多方面还存在不足,但只要广大教师坚持探索与实践,必将不断推动教学的发展。
参考文献
[1]陈勇,杨宛颖,张月.Scratch 动画软件:功能、特点与应用[J].电脑知识与技术,2014,10(23):133-136.
(责任编辑 郭向和)