【他山之石】Scratch 在小学信息技术课堂中的应用与实践
作者
凌秋虹,苏州市凌秋虹名师工作室主持人,中学高级教师,就职于江苏省苏州市平江区教育信息中心,研究方向为现代教育技术应用、小学信息技术教学。
本文刊登于2012.11
中国电化教育 总第310期
文章编号:1006——9860(2012)11—0113—04
正文
Scratch在小学信息技术课堂中的
应用与实践
【摘要】Scratch程序的推出给信息技术学科注入了新的活力,它对培养学生的逻辑思维能力、数字化文化创造能力以及解决问题能力有着积极的意义。Scratch程序专为八岁以上儿童设计,它不需要像传统编程软件那样逐行地“敲”代码,而是通过拖曳已定义好的程序模块,采用搭积木的方式快速实现程序的编写。将Scratch引入了小学信息技术课堂,得到了广大师生的喜爱。本文结合Scratch程序特点,着重阐述了其在小学信息技术课堂教学中推进的意义,以及在Scratch引入课堂后教师在教学中实施过程应注意事项等。
【关键字】信息技术:Scratch程序设计;解决问题;逻辑思维
程序设计是信息技术学科教学的内容之一,它能够帮助学生获得解决问题的一种快速、明确、适合的途径,因此笔者认为在程序设计教学中我们的教学目标不是为了培养“小程序员”[1],而是使学生能用程序设计的思维方式进行思考,从而提高学生解决实际问题的能力。
以往的程序设计,如VB、C+都是很好的编程软件,但其命令冗长、结构复杂、逻辑思维抽象等特点不适合小学生学习,而Scratch的推出正好弥补了这一“遗憾”,它让学生在图形化的环境下掌握程序设计的基本原理与思想,并在生活化情境中加以应用与掌握。苏州平江区将Scratch项目引入了小学信息技术课堂,不仅为信息技术课堂增添了活力,更主要的是学生在利用Scratch进行创作中,培养了学生逻辑思维能力、数字化文化创作能力以及解决问题的能力。
一
Scratch程序的新特点
Scratch程序是美国麻省理工学院开发的一套开源程序[2],专为八岁以上儿童设计,它不需要像传统编程软件那样逐行地“敲”代码,而是通过拖曳己定义好的程序模块,采用搭积木的方式快速实现程序的编写,在实践教学应用中我们发现它具有以下特点:
1.操作简单,趣味性强
Scratch——猫抓,就像它的名字一样富有童趣和生机,其可爱的小猫造型无形中就拉近了与孩子的距离。同时其图形化界面、平民化语言能帮助学生理解每条指令的意义,学生只需用鼠标选择指令以搭积木方式“编写”程序,单击该程序新能在“舞台”看到结果,这种实验的架构方式提高了学生学习的积极性。除此以外Scratch自带素材库以及媒体导入功能为学生创作提供了便利。
2.指令多样,内涵丰富
Scratch看似玩具但其内涵丰富。八大类指令把程序设计所需的基本概念,如建模、控制、动画、事件、逻辑、运算等都囊括其中。从动作指令到控制语句,从传感响应到面向对象,从数值运算到线程调度,涉及了程序设计多个方面。孩子在完成任务的过程中渗透了多种思维的培养,如:在进行整体规划与设计时要考虑参数传递、流程控制等程序设计问题;在确定人物与舞台时要考虑色造型设计、场景布置等美术设计问题;在确定角色动作与侦测控制时,要考虑坐标位置、数值运算等数学问题。总之,学生在创作的过程中参与了程序结构化、对象化、线程化等多种高级程序设计活动,使学生多种能力得到了锻炼。
3.功能强大,应用广泛
Scratch程序同时具有Flash的动画功能,学生通过图形化编程的方式进行动画制作。除此以外,它还涵盖鼠标、键盘、声音、光感、温感等传感,以及角色响应、广播响应、键盘响应等多种响应,因此在Scratch如此强大的功能平台上学生可轻松制作各种交互类作品,如游戏制作,音乐创编、人工智能等。
4.JAVA架构,分享创造
Scratch基于JAVA架构,孩子创作的作品可以随意发布到互联网,供全世界小朋友分享与学习,这一特点方便了学生的交流与再创造。孩子们不分国界、不分种族、不分时间、不分年龄,以一种特殊的Scratch语言进行交流与学习,分享各自的创意与设计思想,这种特殊的交流方式扩大了他们的交流面,无形中培养了学生合作与沟通的能力。
二
Scratch引入课堂的实践意义
美国国家教育技术标准(学生第二版)指出[3]:培养学生具备创新思维能力,并能使用技术工具建构知识、开发新的产品与过程;学生能够运用批判性思维技能与恰当的数字化工具与资源设计来开展研究、管理项目、解决问题,并做出合理的决策。由此可见,“标准”突出了对学生各项能力的要求,而不仅是对技术的使用,每一项教育技术能力标准的实现不应仅限于利用技术手段,而应使学生达到综合运用多种方法达到这些能力要求。基于以上认识并结合一年的实践,作者觉得Scratch架构特点和设计理念能帮助我们培养美国国家教育技术标准(学生第二版)中学生需具备的各项能力要求。它在信息技术学科中具有以下优势:
1.有助于促进学生的心智发展
学生在小学阶段是长身体、长知识、长智慧的时期,其思维从具体形象思维逐步向抽象逻辑思维过渡,但抽象逻辑思维在很大的程度上仍以感性经验为主,具有很大的直观性。而Scratch以其图形化的编程方式,为孩子思维从具体走向抽象提供了搭手架。孩子在完成具体任务的过程中,通过对任务的分析、规划,梳理出各对象间特有的逻辑关系;再通过指令的搭建、测试与调整,逐步实现了具体形象思维逐步向抽象的逻辑思维过渡。同时学生在解决问题中充分地观察、理解、判断、想象、假设、推理,不断发展学生的心智。实践表明,学生对Scratch的兴趣度和学习的专注度超过所有信息技术模块的学习,在Scratch课堂上学生们精神饱满、思维活跃,乐此不疲地投入到自己最感兴趣的创编活动中。
2.有助于激发学生数字文化的创造
“儿童数字文化”是指让学生去设计和创造属于他们自己的数字文化作品[4]。Scratch能将多种媒体融入其中,系统自带图像创编功能简单、有效地支持儿童的数字化表达。当建立Scratch项目后,学生能够选择、创造、管理多种媒体,包括文本,图片,动画以及视音频资料,以此来准确表达作品的主题思想。其次,学生通过指令搭建实现各角色的动作并建立角色间的逻辑关系,以此来实现各种交互类、非线性的作品,它与其他数字文化创作工具(如PPT、Flash)相比,更具交互性、便捷性和灵活性。因此,在Scratch平台上学生有足够的能力创作出属于自己的故事,动画、游戏等数字文化作品。
3.有助于锻炼学生逻辑思维能力
培养学生的逻辑思维能力对他们今后的成长是相当有益的,目前在我国小学阶段课程设置中没有一门学科涉及这方面内容的学习,而孩子对以往的程序设计不感兴趣,但在Scratch中,可以将逻辑思维能力的训练融入于具体的生活情景中,让孩子在感性经验的支持下逐步向抽象的逻辑推到方面发展,从而形成一定的逻辑思维能力。
同时流程图为学生逐步从自然语言向抽象的程序设计语言过渡提供帮助,经过实践我们发现流程图“给力”Scratch程序,当学生能用自然语言表述某对象的动作后,学生在Scratch中就能自主尝试探索出合理的程序搭建,但这种尝试还是基于“猜测”,通过教师进行引导,运用流程图帮助学生理清其中的逻辑关系。这种先尝试再归纳的方式既符合了学生学习程序初期从感性到理性的认知规律,又无形中逐步渗透了高级程序设计中所需的抽象化的逻辑思维能力。
4.有助于培养学生解决问题的能力
培养学生解决问题的能力是新课程标准的总体目标之一。解决问题是培养学生应用能力的重要途径,而Scratch用一种非常有意义的设计念去支持问题的发现、分析与解决。当创建一个Scratch项目后首先要根据项目要求进行系统规划,然后对各角色动作进行分析,提出解决方案,再通过尝试搭建逐步去实现。在这一过程中让学生经历了提出问题、分析对象、尝试搭建、调试程序,最终解决问题的过程,并且Scratch被设计的脚本非常容易修改,学生在调试的过程中能方便地添加和删除指令并能立即看到结果。因此学生在创作的过程中始终处于提出问题、分析问题和解决问题的动态过程中。
三
Scratch引入课堂的教学实践
Scratch进入课堂后,随之引发我们思考的问题是怎样的教学方式是最有效的。在一年多Scratch实践中,我们发现以活动项目的形式来组织课堂教学的效果最明显。我们每学期安排4-5个项目,每个项目由1-3课时完成。如本学期安排了动物运动会、抓鱼游戏、DIY赛车和注意交通安全等。学生通过一系列活动项目的创作,在不断尝试实践与体验的过程中获取经验、掌握方法、提升能力。下面以项目“抓鱼游戏”为例分享教学实施的过程。
侦测指令是Scratch中实现信息获取的途径,通过“抓鱼游戏”项目学习,让学生感知侦测指令在程序设计中的作用。本课是项目“抓鱼游戏”的第二课时,第一课时学生己完成了场景、角色造型的设计,编写完成鱼在水中游动的动画。
1.教学目标:
(1)以Scratch为平台,让学生通过假设、探索、验证和归纳总结,掌握侦测指令的意义;(2)掌握条件判断语句在生活情景中的应用方法;(3)通过本项目的学习,初步感知任务设计的基本方法与思路。
2. 主要教学过程:
(1)游戏导入,建立概念
师:今大我们一起来玩“贪吃蛇”游戏,在玩游戏的过程中思考你是如何来控制这条蛇?当蛇吃到苹果,苹果会怎样?
生:用键盘控制蛇的运动;当蛇吃到苹果后,苹果就会消失。
师生讨论后教师导出课题:今天我们将用同样的原理来制作“抓鱼游戏”。游戏的导入大大增加了学生的学习兴趣,并通过玩“贪吃蛇”游戏让学生在“玩”中感知游戏的操控方法及各对象之间的关系,为完成本课的教学任务建立起初步概念。
(2)整体规划,对象分析
师:请打开“抓鱼游戏.sb”文件。
师:思考要制作抓鱼游戏,除了小鱼以外我们还需要添加什么呢?
生:小猫!
师:那如何让小猫“动”起来呢?又如何能实现猫抓鱼的动作呢?猫抓到鱼后鱼又会怎样?
此时教师边提问边将学生的想法以“图”的方式依次呈现(如图1所示)。
图1 教师以“图”的方式依次呈现学生想法本环节的设计意图为:师生共同来设计抓鱼游戏,并将其以图形化的方式呈现,不仅使“抓鱼游戏”各对象的动作变得简单、明了,让学生清晰地了解制作该游戏的整体思路基本与方法;同时在师生互动交流中训练了学生整体规划与设计的能力。
(3)自主搭建,完成操控
师:请同学们用学过的键盘控制原理让猫“动”起来,比一比谁的方法最简单?
学生尝试用一组方向键控制小猫的运动。
师:你们在操控小猫过程中是否有问题
生:小猫没回到原位。
师:我们该如何解决呢。
学生讨论后用己学到的知识尝试完成小猫复位功能。
本环节的设计意图为:让学生联系已学过的知识与技能在此情境中加以综合运用,通过分析、判断和调试实现了用键盘控制小猫运动,有效地锻炼了学生动手实践能力。同时,在学生完成操控小猫任务后,教师并没急于抛出问题,而是组织学生一起讨论,通过观察分析其不足,引导学生提出修改方案,并给学生足够的时间去猜想、尝试和调试并要求学生加以归纳和总结,引导学生将获得的经验与知识向方法转化,提升学生应用知识的能力与水平。
(4)师生互动,突破难点
师:如何实现猫“抓”鱼的动作呢?如猫抓到鱼后,鱼会怎样?
生:两者相碰;猫抓到鱼后,鱼消失。
师:如何知道猫碰到鱼呢?这就需要用到“侦测”指令。请学生在侦测模块中找一找该指令,并观察侦测指令的外观特征并尝试搭建。
学生尝试操作。
此时引导学生山“抓”至“碰”从而引出“侦测”指令。要求学生在侦测模块中找了相应指令,并观察侦测指令的外观特征并尝试搭建,得出:“侦测”指令必须嵌入与其外形相同的指令中。老师根据学生的描述用流程图加以梳理与总结(如图2所示)。
图2 “侦测”指令操作流程图
本环节的设计意图为,教师以“抓”字入手引出“侦测”指令的意义、搭建方式以及条件判断指令的应用方法,通过一系列问题的提出使学生置身于分析问题和解决问题的动态学习过程中,学生在解决问题过程中不断观察与操作、猜想与调试、分析与归纳,积极寻求解决问题的最佳方案,不仅锻炼了学生的思维能力,而且磨练了学生勇于接受挑战,克服困难的意志。同时流程图的引入帮助学生从具体情境中感知条件判断的程序结构,有效地训练了学生的逻辑思维能力。
(5)拓展应用,启发创新
师:在大家的努力下我们完成了抓鱼游戏,你能增加游戏的难度吗?
生:鱼变多、提高鱼的运动速度。
师:除些以外你还有什么办法让抓鱼游戏变得更精彩呢?
生:主人公变造型、添加抓鱼工具,发子弹、抓到后鱼翻肚子……
教师继续将学生的想法在原设计图上添加。
师:为了能把大家的想法变为现实,老师特为大家准备了“帮助”文件,请同学们根据自己的想象选择1-2项尝试制作,把你的抓鱼游戏变得更精彩。(“帮助文件”主要包括了改变角色的造型、运动方式,以及发生响应后的不同效果)
学生根据“帮助文件”提供的方法修改脚本。
本环节的设计意图为:教师充分考虑到学生的差异性问题,设计了多个不同层次的“开放性”任务,较好地保护了学生的积极性和自主性。同时“帮助”文件为学生创新、实践提供了搭手架,学生可根据自己的设想选择自己最感兴趣的内容进行创编,使学生的潜质得到了挖掘,个性得到了张扬。设计图的引入再一次强化了学生系统规划与设计能力。
(6)互动试玩,分享成果
师:与你的同桌互玩游戏,交流一下各自的优点及可改进的地方。将你们的作品上传到Scratch专题网站中,课后我们比一比谁设计的游戏最精彩。
本环节的设计意图旨在交流与分享,不仅能让学生在 互“玩”的过程中分享彼此成果,更主要是让他们尽情感受到学习的快乐和成功的喜悦,得到了美好的情感体验。
四
Scratch引入课堂的实践思考
现代教育心理学研究指出[5],孩子的学习过程,不仅是一个接受知识的过程,更主要的是一个发现问题、分析问题、解决问题的过程。这个过程一方面是暴露孩子产生各种疑问、困难,障碍和矛盾的过程,另一方面也是展示孩子发展聪明才智,形成独特个性与创新成果的过程。因此在Scratch引入课堂后教师在教学中应充分地考虑到这一特点,处理好以下三者之间的关系。
1. 处理好学生的“认知能力”与项目设计的“难易程度”之间的关系
学生的认知能力关系到学生是否能顺利完成知识建构,而项目设计的难易程度决定了学生的参与度和学习目标的达成度,两者必须相匹配。但在平时的教学中我们经常会发现有些教师在设计时过多地追究项目的趣味性和完整性,无形中加大了活动项目的难度,在这样的教学中学生的思维能力不能与所学目标相对应,在教学中教师只能机械地讲解示范和学生单纯模仿练习,学生始终处于被动的学习状态,探究性学习得不到很好的实施,教学效果大打折扣。
Scratch引入信息技术课堂后我们的教学目标定位不是让学生掌握了哪些指令,能制作难度多大的交互类作品,而是让学生在参与项目创作过程中培养他们分析问题和解决问题的能力。因此在项目设计时教师必须对学习对象有足够的了解,对难度偏高的项目要“瘦身”、要“分解”,使其与学生的认知能力相符合,只有这样才能使学生在学习过程中有足够的能力去思考、去尝试、去归纳、去总结,逐步形成自己的思维方式去解决问题,虽然这过程较长、起效较慢,但在这过程中培养了学生可持续发展的“学习力”。
2.处理好解决问题策略的“最优化”与“多样性”之间的关系
在Scratch教学中,我们会经常发现学生在解决同一问题采用的策略是多样的,细想其原因有两点:一是在Scratch创作中,学生个体差异性尤为明显,主要包括学生的思维能力和知识背景,决定着他们解题思路的不同,思维能力强的学生往往能一题多解,有些学生的想法会超出教师的预设;二是在Scratch中编程,同一问题解决的策略是多样的,同一策略可选择的指令也是多样的,这必然造成了同一问题的解决方法的多样性。在教学中我们发现有些教师会把很多时间与精力花在分析、讲解学生的多样性方案上,其结果使大部分同学因不理解他人的解题思路表现出困惑与不感兴趣,原本较为清晰的概念因此变得模糊起来,给学生带来了心理负担。
那怎样才能在“多样性”策略中找到“最优化”的呢?本人认为其“最优化”的前提就是“理解”,最好的方法如学生不理解也无济于事,因此在教学中教师应引导学生从问题的整体性入手,运用抽丝剥茧的方法带领学生分析出问题本质,寻找解决问题的基本策略和最佳途径。同时教师应摈除传统程序学习经验的影响,要用学生的思维方式带领学生去分析,去思考、引导学生用自然语言加以总结,最终形成“最优化”方案。这种“最优化”方案可能对学过程序设计的教师来讲不一定是最佳的方案,但对学生当前的思维能力和知识背景来讲他们能理解、会解决实际的问题就足够了。同时教师对提出不同方案的学生要积极肯定,鼓励学生能一题多解,对大部分同学能理解的方案可作为案例进行交流和评析,让学生在理解的基础上求异、求新。
3.处理好项目设计的“基础性”与“开放性”之间的关系
对学生来讲Scratch涉及的领域较广,并与他们的学习、生活、娱乐息息相关,因此学生对项目的设计与理解有着自己独特的想法,他们渴望能将自己的想法融入到作品中,创造出充满创意、个性的作品。因此在项目设计时,教师在考虑整班教学一致性的基础上,更要注重发挥学生的主体性。在每个项目设计中需安排多个开放环节,让学生的聪明才智充分地发挥出来。学生在同一内容学习时,实际具备的认知基础和情感谁备都不同,决定了学生对同样内容掌握所需要的时间及掌握的程度也不同,在项目设计时教师要考虑到学生个体差异性,因此在项目活动设计时不仅要注重项目的开放性,还要考虑项目活动设计的基础性,也就是说项目活动的目标定位不能过高,要让学习能力较弱的学生通过学习也能完成。如在“抓鱼游戏”的拓展环节中,教师特设计了“如何来增加游戏难度”任务,其目的新是让学习能力较弱学生也能通过自己的努力实现创新;同时又提出了“让游戏变得更精彩”的开放话题,这样的设计即面向了全体学生,又充分考虑到学生的个性差异,极大地满足了学生求趣、求异、求变和求新的心理,使他们的个性、情感得到了充分的体验。
五
结束语
总之,Scratch引入信息技术课堂,要追求整体的和谐,这好比烹饪一道菜,主料、配料、佐料都要搭配得恰到好处,烹制时的火候也要掌握得恰到好处。只有这样,我们的信息技术课才会因它Scratch的介入而更丰富、饱满、充盈灵动!才能实现儿童程序设计教学的华丽转身!
--end--
声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com