教学本身就是一个创新的过程,教师必须具有创新意识,改变以知识传授为中心的教学思路,以培养学生的创新意识和实践能力为目标,从教学思想到教学方式上,大胆突破。创新意识是一种发现问题,积极探索的心理取向,教师应当充分鼓励学生发现问题,提出问题,讨论问题、解决问题,通过质疑、解疑,让学生具备创新思维、创新个性、创新能力。要把创新教育渗透到课堂教学中,让学生主动地参与到教学活动的全过程,使学生一边学习、一边实践,在实践中探索和创造。学校教导处开展的创新拓展课引入Scratch教学平台,为培养学生的创新素养、创新能力提供了良好的环境和平台,它在以下几方面具有明显的优势。
◆Scratch教学中创新思维的表现:
Scratch是美国麻省理工学院开发的一套开源程序,专为八岁以上的青少年设计,他们会学习到重要的数学及电脑编程概念。它与以往的常用Office软件学习有所不同,Scratch的教学并不是为了培养出小程序员,而主要是为了让学生在利用Scratch进行创作的过程中,培养逻辑思维能力、数字化文化创作能力以及解决问题的能力,并在学习的过程中充分感受乐趣。并从实践设计中建立自信,他们也更有创意地表达自己。当然,这一学习和体验的过程,也是学生创新思维、创新素养得到培养的过程。
1.在Scratch学习中,创新思维表现在学习和设计上
Scratch不需要像传统编程软件那样逐行地“敲”代码,而是通过拖拽已经定义好的程序模块,采用搭积木的方式快速实现程序的编写。图形化的编程减少了识记性的要求,将学生从死记命令及命令的使用参数中解放出来。学生学习Scratch编程的过程不再是枯燥的命令组合,整个编程就像儿童在搭积木玩具,同时Scratch的舞台区,会对学生的积木式程序自动进行演示,学生可以很直观地看到各种脚本设计所呈现出来的实际效果,这种借助Scratch进行设计编程学习的方式就能体现学生的创新思维能力。
2.在Scratch学习中,创新素养、创新思维表现在任务分析和设计的算法上
Scratch中的每一项任务,都需要学生先进行分析,而后根据各个任务和要求思考问题解决的方式方法,最终选择和设计出各类符合自己需求的指令算法。
案例一:机器人巡逻。
任务说明:要求学生设计脚本,让机器人完成巡逻任务,巡逻轨迹如图所示。
学生对这项任务基本上会有两种以上的算法思路:一是利用移动指令; 让机器人四周移动巡逻,根据任务要求,可能需要多条移动指令,才能让机器人进行四周巡逻,脚本如下图3所示;
二是利用一个重复执行指令,让机器人在四周进行巡逻,这种算法让机器人巡逻的脚本设计变得更为简便易懂,而且呈现的效果也更加完整,如上图4所示。
在这项任务设计中,学生通过不同的算法来解决机器人巡逻的问题,但通过不同学生不同方法的脚本演示,学生们肯定会发现算法不同会呈现出不同的脚本设计,效果也会不同,这样一个问题分析、思考的过程就是创新思维、创新能力在具体案例中的体现。
3.在Scratch学习中,创新素养、创新思维表现在脚本设计的逻辑思维上
在Scratch的脚本设计中,我们会根据不同角色的不同功能和呈现效果,选择不同的脚本设计,脚本中各个指令的关系梳理与运用就是一种逻辑思维。
案例2:小动物过冬
任务说明:学生设计脚本,完成小动物过冬的一个情景故事设计,如图5所示。
在这项任务中,学生就要分析美个角色出场顺序、相互关系等逻辑,如首先需要出现文字“小动物过冬”,并展示动态的文字效果,然后出现蛇,几秒后消失,最后出现蜜蜂,这样的脚本设计如图6所示。
在这个脚本设计中,学生在制作之前必须要理清楚各个角色的相互关系,在这一过程中学生创新思维、逻辑思维能力肯定能得到提升。
4.在Scratch学习中,创新思维能力表现在对程序的优化处理上
在Scratch的脚本设计中,我们经常会发现同一个效果可以有多种途径或方法来完成。在许多方式方法中,我们找出一种最好的或者最合理的方式,这个过程就是创新思维的优化过程。
案例3:打地鼠游戏。
任务说明:地鼠随机出现,用锤子进行打击,打到一只地鼠分数就增加一分,如图7所示:
尝试一:很多学生给锤子设计了如图8的脚本,发现这个脚本的设计复杂而且容易搞错,并且每次角色发生一点变化,都需要重新设计整理脚本。尝试二:有学生提出了一种更优的脚本设计,那就是给地鼠角色设计脚本,简单的几条指令就可以了,每只地鼠角色全部自动复制同样的脚本,就可以达到想要的效果,如图9所示。
通过脚本优化,我们让程序变得更加简洁,同时这种优化后的脚本也更加易懂,方便,好维护修改。在这一过程中,学生对逻辑思维的优化特性有了更深刻的理解和体验。
◆Scratch教学中学生创新素养、创新思维培养的具体策略
针对Scratch软件的特点,在Scratch教学中尝试构建“分析·设计·创作·分享”的教学模式,以便更好地促进学生创新思维的培养。
1.通过分析主题,培养学生计算思维和逻辑能力
根据主题,帮助学生整理分析规划这个主题作品需要哪些角色,弄清楚角色之间的相互关系,接着局部分析每个角色的造型、脚本、状态,还可以再细致到每句指令、参数、先后执行顺序的分析与搭建,有表及里、由浅入深、由易到难地分析事物和问题,最后能够规划出需要解决哪些子任务,这也是促进学生思维逻辑能力的培养。
案例4:大鱼吃小鱼。
背景 | 海底世界 | |
需要的角色 | 鲨鱼、章鱼、虾米 | |
效果分析 | 1.所有角色都需要游动 | 移动指令、碰壁反弹 |
2.鲨鱼碰到小鱼时,小鱼消失,大鱼变大 | 角色大小、判断、重复、隐藏 | |
3.移动随机 | X 、Y坐标的随机指令 | |
角色说明 | 1.角色的动画效果 | 切换造型 |
2.角色的顺序 | 广播、条件指令 |
任务说明:在深海中,鲨鱼、章鱼、虾米们在海里自由地游动,但鲨鱼碰到章鱼或者虾米时就会吃掉它们。如图10所示,在设计之前让学生看范例然后填写“大鱼吃小鱼”分析表(见下表),启发学生思考需要解决哪些问题。学生在分析表中很好地分析出角色要实现的效果,并为其提供简单的指令依据,这为后期的脚本设计提供了方向和思路。
案例5:猜数字
游戏说明:设计一个猜数字的游戏。例如,玩家单击0到9间的任何一个数字,小猫会提示你的数字是“大了”还是“小了”,直到你完全猜对为止,如图11所示。
学生分析:电脑产生的随机数和人单击的猜测数要进行比较,因此这两类数可以用变量表示。例如,小猫设定一个值为a,鼠标按下的值为一个变量b.以此类推,如果按下9,则b=9,a与b进行比较,如果a<b,则提示大了,如果a>b,,则提示小了,如果X=Y,则提示答对了。
上面两个案例都需要学生能理清楚每个角色的相互关系,以及每个角色脚本的算法和逻辑能力,而这些对于学生的逻辑思维能力和算法应用能力的培养是非常有效的,让学生在思考实践中促进创新思维能力的培养。
2.通过设计脚本,提高学生创新思维的优化能力
学生有了具体的解决思路后,就会有针对性地去设计每个角色具体的脚本,能够根据角色效果找有用的指令,修改指令的各种参数和先后顺序,不断地调试并最终设计出每个角色的脚本程序,实现角色效果。
案例6:小章鱼游动。
任务说明:设计小章鱼游动的动画。
图13中的小章鱼游动的脚本明显比图12中的小章鱼游动的脚本更优,因为无论是从指令的数量上,还是执行效率和效果呈现方面,图13的脚本比图12的脚本设计更合理,学生如果能对自己的脚本多次设计并使之达到优化,这就是一种创新思维的优化能力的培养。
3.通过创作和分享,培养学生创新思维抽象的归纳整理能力
通过对各类问题和情境的创作分享,学生对于类似的问题有了自己的经验和想法,如图
14所示:
对于鱼的游动,学生会有很多不同的知识经验创造出更多有个性化的有创意的作品,这也是学生在Scratch学习过程中最大的收获。
◆反 思
通过这些案例的实践与学习,我们观察发现,学生的创新思维和创新能力、创作想象远远超出了教师的预期,学生在自己的作品中都能加入自己的想法和创意。例如,第五个案例“猜数字”,教师和学生在学习的时候只是学习了数字的大小对比指令,然后设计脚本进行结果反馈。但在学生的创作作品中,他们加入了很多互动效果,大大增加了游戏的真实性和娱乐性,这是学生对所学知识进行归纳、整理、内化并能进一步创造的表现。
在“分析、设计、创作、分享”教学模式的构建和应用实施过程中,每一个环节都渗透着创新思维的一个要素或者多个要素,学生在这个过程中不仅提高了编程能力和逻辑思维能力,同时也培养了创新能力。通过Scratch教学实践,从学生提交的学生作品中,学生学习Scratch对于创新思维、逻辑思维能力的培养有显著的促进作用。同时学生通过Scratch平台的学习和应用,会对同学的创新思维、逻辑思维、创新能力有很大的提升。