Scratch及其在课堂教学中的应用优势
2015-04-30刘晓静陈香丽黄桥燕
刘晓静 陈香丽 黄桥燕
摘要摘要:Scratch是一款儿童编程软件,其积木化的操作具有简单、可视等特点,有趣的界面可以制作动画、游戏等,能充分调动学生学习兴趣,开发学生创新思维,培养学生编程思想,同时培养学生对自然科学的自主探究精神。结合Scratch的特点,将其与其它编程软件进行对比,对Scratch应用于中小学信息技术课程教学中的优势进行了分析。
关键词关键词:Scratch;编程思想;创新思维;信息技术
DOIDOI:10.11907/rjdk.1431018
中图分类号:G433
文献标识码:A文章编号文章编号:16727800(2015)004015602
0引言
随着社会信息化的发展,网络、游戏、动画、视频短片和手机通信等逐渐渗透到人们社会生活的各个层面,形成了传播力和影响力极强的数字文化。浸润其中的儿童成为了数字文化的原住民,由此相伴而来的是儿童在数字文化生活中出现的新现象、新矛盾和新问题,引起了学校、家长和社会的忧虑[12],且信息技术带来的利益并未在儿童中产生广泛认同。
开发Scratch程序语言的目的是帮助年轻人发展学习技能,提升创造性思维与合作能力。生动的界面、简易的积木式编程,让Scratch——儿童编程软件进入中小学课堂,使学生了解编程思想的同时充分发挥其创造性,还能培养他们团队合作精神、问题解决能力及信息处理能力。本文在对比分析Scratch优势的基础上,通过案例探讨Scratch在教学中的应用。
1Scratch简介
Scratch是一款由麻省理工学院(MIT) 媒体实验室终身幼稚园小组(Lifelong Kindergarten Group)2007年研发出来的一种图形化的面向儿童的简易编程工具。针对8岁以上学生的认知水平,及他们对界面的偏好,MIT作了深入研究和颇具针对性的设计开发[3],不仅易于学生使用,又能寓教于乐,让学生获得创作乐趣。
Scratch 的下载和使用完全免费,开发了Windows系统、ios系统等版本,支持多种语言。该开发组织除了保留对“SCRATCH”名称和软件LOGO的权利外,还公布源码,允许任意修改、发布、传播。目前已有不同的改进版本在网上流通。
Scratch积木模块共有8个大类,100多个功能,包括一个完整程序的每个环节,甚至数组。在原版中没有函数调用,也即复杂的功能要重复编写相同的代码。在自由软件开发组织中有人进一步开发了制作自定义积木(自己编函数)的功能[4]。界面包括8个部分:
(1)程序区。Scratch将程序命令归为动作、控制、外观、侦测、声音、数值与逻辑运算、画笔、变量8个部分,并用颜色来分类,当点选其中任何部分,相关程序命令就会呈现在程序区中,然后按照自己的想法将命令拖动到脚本区,即可像搭积木一样轻松地组合出脚本。为了不让编程的初学者遇到繁琐的语法问题,语句块被设计为只有当语法正确时才能结合到一起。比如循环结构被设计成“C”的形状,提示使用者需将反复执行的语句块放到里面。在编程中只要用鼠标双击任何语句块或语句块的组合,就可以立即看到执行效果,便于调试。因此,用 Scratch 编程不用担心语法错误,可以让使用者在不知不觉中学习到编程概念。
(2)脚本区。在此区域将命令进行组合,形成程序脚本。脚本区还可以切换为“造型”与“声音”区,当点击角色区的“舞台”时,在“造型”选项会变为“多个背景”,用来对角色的造型和声音进行检查。照相按钮和录音按钮分别可以用聊天用的视频摄像头拍照和聊天用的麦克风录音[5]。
(3)角色区。显示舞台上出现的所有角色,点击角色,在脚本区即可出现该角色对应的程序脚本。
(4)舞台。它是角色表演的舞台,是最终呈现给用户的区域。在 Scratch 里,学生就是编剧、导演,众多角色在学生的指挥和命令下进行各种各样的演出,可让学生尽情去表达。
(5)工具按钮。它是编辑角色区中角色的工具按钮。
(6)控制按钮:播放、停止程序脚本,更改舞台显示的界面。
(7)角色资料区。显示当前角色的坐标位置、方向等信息。
(8)新增角色按钮。不管是创作故事还是游戏,都先要有一个或几个角色,这些角色都可以通过3个新建角色按钮来创建。其中绘制新角色可以调用简单易用的“绘图编辑器”创建新角色,并且可以从舞台中截取部分图像作为角色。
Scratch具有可视化、适用于儿童学习数学、逻辑及设计流程清晰等优点。积木组合式程序设计方法,可以用拖曳、组合的方法取代打字,免除了代码输入错误的困扰,还可以制作出具有故事情节的动画或交互式游戏。
2Scratch与其它编程工具比较
目前,我国儿童编程相关研究还处于萌芽阶段,甚至在图书市场也很难找到相关书籍资料,只有网上的寥寥数语。当前关于儿童编程最好的两个编程平台为KPL和Scratch。
微软中国对KPL进行了大量本土化工作,网上KPL的中文参考资料也较多。而MIT的Scratch本土化工作就相对比较落后,只有简体中文版的界面翻译,而参考资料和学习问答都是英文的,平均翻译率仅为26%,Scratch的官方网站也只有英文的。在中国台湾,繁体汉字的翻译进展尚可,参考资料和问答有50%的翻译率。大陆以华南师范大学附属小学信息技术研究人员对Scratch的研究为主,目前已设计了“Ledong Scratch 互动教学平台”[6],其突出特点是开放性、 互动性、 直观性和易操作性。
KPL和Scratch比较而言,KPL更专业,动手编程对于儿童来说并不容易,不适合做入门语言;而Scratch更像一个艺术创作平台,容易操作,即使不会英文也能创作出自己的作品,而且适合儿童爱玩的天性,让学生在玩的过程中设计自己的游戏、卡通、动画。虽然Scratch编程同专业的编程语言有一些区别,但它们的基本概念如坐标、方向、逻辑运算、条件、循环、事件等都大同小异。学好Scratch 对于学生以后学习专业级(企业级)语言(如 C++、Java、C#.net 等)非常有帮助。
3Scratch应用于中小学信息技术课程教学中的优势
3.1简易有趣,调动学生兴趣
Scratch软件给儿童提供了尽可能方便的工具:积木化的程序及大量的角色、舞台、声音等素材,让他们充分发挥自己的想象力进行创作。在创作过程中,其操作简单、设计可视化,像垒积木一样却能创作出各种生动活泼的小游戏、动画等,让学生在玩中学,学生学习积极性大大提高,想象力和创造力得到极大培养和锻炼[7]。
3.2轻松帮助学生编程入门
对于中小学生,学习专业编程软件尚有一定难度,他们的逻辑思维能力相对不强,对程序思维的理解存在一定困难。Scratch将程序思想蕴含于积木式的操作步骤中,包括逻辑运算、条件、循环、事件等,图形化地反映出程序思想,让学生在完成作品的过程中体会编程,为以后深入学习编程打下基础。
3.3培养学生信息处理与交流能力
通过建立Scratch项目,学生能够学习选择、创造、管理多种格式的媒体,包括文本、图片、动画以及视音频资料。学生获得了创作媒体的经验,通过分析周围各种信息,提高了洞察力和甄别力。并且,Scratch的使用要求学生必须能够挑选、处理、集成大量的信息资料,并高效表达出他们的创作意图,是对学生表达能力的极大锻炼。
3.4培养学生思考和解决问题的能力
学生在学习Scratch的过程中,能够处于一种批判性思维和系统思考的状态中,为了完成项目,学生必须注意协调和控制程序中各种造型的相互作用,程序的交互作用能够帮助学生建立程序基本原理的直接体验。
Scratch用一种非常有意义的设计理念去支持问题的发现和解决。创建一个Scratch项目首先要求有一个初步的设想,然后通过Scratch的模块一步一步去实现。Scratch被设计得非常容易修改,学生能够动态地改变每片代码,然后立即看到结果。该过程能够让学生在不断地提出、解决问题的交互试验过程中收获知识,发展能力。
Scratch 鼓励创造性思维,要求学生不断寻找新方法去处理各种预设难题,而不是仅仅教给他们如何解决既定问题。
3.5培养学生人际交往与协作能力
Scratch程序是搭积木方式,因而程序代码更容易阅读,也比其它程序更容易分享。可视化的对象和模块代码支持协作,确保学生能够共同建设项目并交换代码。学生提出创作构想,然后一步一步地用程序实现,在实现某一个创作构思的过程中,学生的自我创作意图促使他们能够应对编程过程中的挑战和困难。学生创建Scratch工作项目时,要在脑海中有一个虚拟使用人,需要考虑别人与他们的作品如何反应和互动。Scratch非常容易修改,所以学生能够根据其他人的意见及时修改他们的作品,从而增强了其责任心和适应能力。并且,Scratch程序非常容易共享,学生可以在交互的环境中讨论各种话题,比如互联网上的Scratch社区。
4结语
信息时代,如何上好信息技术课,培养学生的信息技术能力至关重要。与传统教学相比,将Scratch引入中小学课堂,解决了画图、Office软件等简单操作给中小学生带来枯燥感等问题,充分调动了学生的学习积极性;不再只是教技术,更重要的是用技术表达思想,激发学生的创新思维和探索精神;通过简单操作,让学生在玩的过程中体会编程思想,为今后学习更深入的编程语言打下基础;教学生利用软件进行各种媒体文件的处理等,培养了学生的信息处理和交流能力,在创作过程中还培养了学生独立解决问题和交流合作的能力。由此可见,将Scratch引入中小学信息技术课堂能够丰富学生的创作空间,提高学生学习兴趣,发展学生各方面的能力。
参考文献参考文献:
[1]曾燕波.虚拟世界中青少年的生存与发展[J].社会科学,2007(9):8289.
[2]王继华,吴向东.儿童数字文化创作课程的背景、观念、设计和案例[J].中小学信息技术教育,2010(1):2123.
[3]朱丽斌,金炳尧.Scratch程序设计课教学实践研究——基于体验学习圈的视角[J].现代教育技术,2013,7(23):3033.
[4]徐勇.Scratch课件制作全接触[J].技术应用,2013(1):7072.
[5]陈捷.Scratch语言简介及应用[J].计算机教学与教育信息化,2009,9(26):3940.
[6]吴俊杰,梁森山,项花.Ledong Scratch 互动教学平台的应用与研究[J].教学仪器与实验,2011,5(27):912.
[7]凌秋虹.Scratch在小学信息技术课程中的应用与实践[J].中国电化教育,2013(11):113129.
责任编辑(责任编辑:孙娟)