【摘要】编程在人类生产生活中占据着非常重要的位置,相应地,编程也成为小学信息技术课程中重要的学习内容。文章以Scratch教学为例,重点讨论了如何在Scratch编程教学中锻炼学生的思维。
【关键词】编程;Scratch;思维
作者简介:吉敏慧(1984—),女,江苏省扬州市江都区大桥中心小学。
在科技快速发展的今天,数字支付、智能医疗、在线教育、无人驾驶等构成了新的生活方式,而编程就是连接人与计算网络之间的桥梁,同样也是构建信息社会的重要工具。芬兰前教育部长这样描述编程的重要性:“如果您的孩子懂编程,他将成为未来世界的创造者;如果他不懂,那么他就是用户。”[1]
让学生学习编程并非一定要让学生成为程序员,而是让学生在学习编程的过程中提高其能力及思维,使学生的思维逻辑更加严密。
我国很重视学生编程能力的培养,编程教学已经纳入中小学必修课程体系,Scratch教学已经走进许多地区的小学信息技术课堂。
Scratch是由美国麻省理工学院设计开发的,它将复杂的编程过程变得像搭积木一样简单,带领无数儿童敲开了编程设计的大门。如今,Scratch课程的内涵越来越丰富,被成千上万的儿童用来制作动画、游戏、互动艺术,成为培养儿童逻辑思维的典范[2]。
一、在Scratch编程教学中培养学生的思维的策略
(一)质疑思维
质疑思维是指创新主体在原有事物的条件下,通过“为什么”(否定或假设)的提问,综合应用多种思维改变原有条件而产生的新事物(新观念、新方案)的思维。巴甫洛夫认为,质疑思维是创新的前提,是探索的动力。质疑能激发学生学习的欲望,让学生通过不懈地学习、探求、追问,直至找到问题根源并解决问题,不断获得新知识。“在可疑而不疑者,不曾学;学则须疑。”在学习中,对于应该怀疑或有疑问的地方而不怀疑,不求甚解地接受,就等于没有学,因为有的知识不追根溯源,只靠死记硬背是无法真正掌握的。学生只靠机械地记忆,无法做到融会贯通,更谈不上创新,所以学生在学习时要有质疑的精神。
Scratch有很强的逻辑性。学生理解了每个控件的作用,就能在编写脚本时做到得心应手;理解了每段脚本的含义,就能利用Scratch编写出一个大型的脚本。在Scratch教学中,教师要有意识地培养学生的质疑思维,让学生真正理解编程,并能将其运用到其他学科的学习中。
如在教学小学五年级信息技术第10课“小猫出题”时,教师根据教材的要求,让学生能建立变量,并能利用变量进行加法、减法、乘法、除法的计算。到此,教师已经基本完成本课的教学目标,这时有一名学生提出疑问:“老师,我们平时做的计算题都是既有加减运算也有乘除运算,那在Scratch中,能不能让‘小猫出示既有加减运算又有乘除运算的口算题呢?”又有一名学生举手发言:“还有三个数字的混合计算,还有带括号的口算,都可以实现吗?”还有一名学生提出疑问:“编程出示了一道口算题,我把答案输进去,‘小猫判断出对错,接着再出示下一题,这时上一题的答案应该消失,可实际上,上一题的答案还在,答案能消去吗?”想不到学生竟然这么有想法,笔者把这些问题写在黑板上,特地留出一节课的时间让学生选择其中一个问题去解决,学生们学习热情高涨。学生们反复尝试、交流后,这几个问题基本得到了解决。在教学中,教师要鼓励学生大胆质疑,并为了解决疑问进行多方尝试,这样既能提高学生的信息水平,又能锻炼学生的思维,为他们进行其他学科的学习提供样板。
(二)思维的严谨性
严谨性是指研究问题时要严格遵守逻辑规则,做到概念清晰、判断正确、推理有据,它反映了思维活动的缜密程度。严谨包括严密和谨慎,是一种态度,任何一个细微的变化都可能导致结果大相径庭,来不得一点小的疏忽。所以在Scratch教学中,教师要让学生们在编写程序时思考得多一些,尽量做到面面俱到,无遗漏,无偏差。
在小学五年级信息技术第6课“花朵缤纷”的教学中,学生顺利地利用Scratch画出了一朵花,接着利用“重复执行”控件绘制出了更多花。这时,有一些学生发现了问题,每一朵新绘制出的花后面都带着一条“小尾巴”,即一条直线,特别难看。笔者特地让学生停下来,将这段程序投影到大屏上,让学生一起来分析为什么会出现这个问题。有的学生在自己的电脑上实验,有的学生对照书本看是不是多加了控件,终于,有一个学生找到了原因,绘制时少了“提笔”控件,所以当移动到舞台区某個随机位置时,笔在舞台区是滑动的,自然会多一条直线。从这个小插曲中,学生们知道了一丁点疏忽就会让结果产生很大的偏差。学习编程可以让学生的思维更加严谨,让学生无论是在学习上还是在生活中,想问题更加周密细致,面面俱到。
(三)思维的逻辑性
思维的逻辑性是指能采用科学的逻辑方法进行思维活动,准确而有条理地表达自己的思维过程的能力,无论是思维的过程,还是思维的形式、方法,总是有理有据,条理分明,层次清晰,前后连贯一致,不自相矛盾、混乱、跳跃或含糊不清。
编程作为信息技术的一个分支,不仅是一门可操作的技术,更是一种逻辑性强的语言,教师不应只研究其中某个环节或阶段,更应该注重过程的完整推导。
在小学信息技术五年级上册教材中,1—6课介绍了Scratch的基本运用方法和控件,从第7课“穿越迷宫”开始让学生接触逻辑性较强的控件,如“如果,那么”控件、“如果,那么,否则”控件、“变量”控件、侦测模块中的“回答”控件……教师要综合利用这些控件,并将之有条理、有规则地联系在一起,以完成教学任务。笔者认为,教师在讲授这几课时,不能像前几节课那样只是简单介绍这些控件,接着为学生示范,让学生跟着练习,而应该更注重逻辑思维的渗透。
以第9课“赛车游戏”为例,赛车在行驶过程中有三种情况:1.在赛车道中前行;2.偏离赛车道后纠正方向;3.到达目的地。在带领学生画好赛车的舞台和赛车角色后,笔者没有直接告诉学生应该怎样搭建程序,而是让学生讨论赛车在行驶过程中会遇到哪些状况,然后一一在模块中寻找合适的控件,从而完成整个赛车过程的程序搭建,最后让学生总结编写赛车游戏程序的流程,以及在此过程中接触到的控件的作用。AE514F2F-9F5D-4F01-B4F6-01F5FB51E0D1
在学习编程的过程中,学生能够逐步养成全面、有条理地解决问题的习惯,能考虑到可能发生的种种状况,并在查错反思中,提升思维的逻辑性。
(四)思维的灵活性
思维的灵活性表现在能根据客观实际的变化而对原来的工作计划或解题思路做适当的调整或改变,因地制宜是思维灵活性的表现,客观事物总是处于不断运动、变化的状态中,因客观条件和目的的变化而变化。
信息技术教材介绍了一些Scratch控件的搭建方法,如在“画正多边形”一课中,教材介绍了如何用Scratch畫正三角形,笔者在教授完教材内容后,让学生试着用Scratch画正四边形、正五边形,很多学生一开始画不出来,他们认为绘制正四边形和绘制正三角形之间的区别仅仅在于重复执行的次数是3次还是4次,而忽略了画笔角度的变化,笔者通过引导学生,让学生通过多次计算、尝试,得出了画正N边形时应该将画笔右转360/N度的结论。至此,学生们完成了从只会画正三角形到能灵活画任意正多边形的转变。
再如,“青蛙过河”一课让学生掌握了如何让角色根据设定好的路线进行跳跃,“花朵缤纷”一课教会学生如何利用图章控件复制出一朵朵鲜花,学完这两课后,笔者让学生综合利用这两课的知识,制作出树上的鲜花一朵朵地绽放,一只蝴蝶从一朵花飞到另一朵花上的动画。
如果学生只是掌握了书本中的知识,但不能将其迁移到其他情景中,那么这样的学习无疑是失败的。Scratch软件中的控件是固定的,如果学生能将各个控件灵活组织在一起,就能编写出各种不同的程序。
(五)创造性思维
创造性思维是一种具有开创意义的思维活动,即开拓人类认识新领域、开创人类认识新成果的思维活动。
Scratch为学生搭建了一个实现自己想法的平台,它鼓励学生打破常规,充分发挥奇思妙想,用自己的双手设计出自己的小程序。在编程教学中培养学生的创造力,关键在于营造让创造力萌芽、生长的氛围。教师应该先让学生心中有一个想法,然后围绕这个想法选择需要的角色、舞台、控件,并通过搭建、测试、修改等达到预期的目标,鼓励学生将成果展示给大家,让学生得到反馈意见后进一步反思和修改。在这个过程中,学生会不断遇到困难,同时也会不断产生新的点子,创造性思维得到很大提升。
例如,在基本完成教学任务后,笔者向学生展示了一些优秀的Scratch编程作品,如节日贺卡、模拟红绿灯、声控电灯等,让学生从这些优秀的作品中寻找灵感,确定自己的创作方向和主题。通过几节课的努力,很多学生做出了令笔者惊奇的成果,有礼炮升空,有青蛙捉虫。虽然也有部分学生没能出色地完成任务,但在这一过程中,学生的创造力得到了很大提升,这也是信息技术课程要达到的目标之一,即尝试利用信息技术富有创造性地解决日常生活和学习中的具体问题。
二、Scratch编程教学的原则
如何将编程发展学生思维的这一作用发挥到极致,笔者认为需要把握以下几个原则。
(一)具备编程素养重于掌握单一的知识
素养是经过长期的学习和实践后在某一学科上所达到的水平。信息技术学科素养是核心素养的重要组成部分,对学生的发展有至关重要的作用。而编程素养作为信息技术学科素养的一个分支,指的是理解技术与人类文明的有机联系,具有学习掌握技术的兴趣和意愿;具有工程思维,能将创意和方案转化为有形物品或对已有物品进行改进与优化等。
在教学中,笔者注重引导学生理解编程思想,让学生不光知其然,还知其所以然。Scratch不需要像传统的编程软件那样编写一行又一行的命令,但就是这种拼搭积木似的编程方式,笔者也没有忽略帮助学生理解每个模块、每个命令的意义和内涵。每当学生搭建好一个脚本,笔者都会让学生用语言描述整个脚本的运行过程,帮助学生理清“搭积木”的思路和原理,久而久之,就能提升学生的编程素养。
(二)合理运用教材而不是硬搬照抄教材
信息技术教材是信息技术教育领域的杰出人士根据教学大纲编写的,能系统科学地反映信息技术各模块内容的教学用书,是教学大纲的具体化,是教学的主要依据,是学生学习的主要材料。教材不能只是摆设,运用好教材可以提高学生的学习能力。计算机知识日新月异,各种软件更是迭代更新,教师传授的知识仅仅是沧海一粟,要想达到终身学习的目的,教材会是一个很好的帮手。因此在scratch教学过程中,教师不光要依托教材将知识传授给学生,也要教会学生如何利用教材自学,如通过阅读教材了解操作方法来搭建脚本,还要引导学生关注教材中点缀的“宝石”,如每页左右侧的小虚线框中的一些小知识、小技巧,让学生养成阅读的好习惯,如果是操作上的小技巧,可以让学生上机试一试,尽可能地发掘出书本的价值。
同时,教师可以在不影响整体教学效果的情况下,结合教学实际,适当地调整教材内容,从而更好地锻炼学生的思维。
如第3课“火柴人跳舞”的教学目的是让学生掌握绘制角色造型和切换造型的方法。然而,第一个班的学生学完“火柴人跳舞”后,不理解造型的意思,教学效果不佳。到第二个班上课时,笔者尽可能地用生活中的例子来解释,学生还是有些茫然。笔者仔细分析,觉得应该是因为学生刚接触Scratch,对此还比较陌生,对一个角色的几个造型就更难理解了,所以脚本搭建只能依葫芦画瓢。在之后几个班的教学中,笔者把“火柴人跳舞”的教学顺序往后调整了几节课,等学生对Scratch比较了解后再教这一课,效果就好了很多。
(三)教师的引导与学生的学习相辅相成
教学是学生和教师的双向活动,教学目标的达成离不开教师的教和学生的学。在信息技术课上,教师要和学生有效互动,让学生得到知识上、思维上、素养上的发展。
学生在教学中的主体地位无可取代,如果不能让学生主动参与课堂、积极探索,就无法取得良好的教学效果。教师要调动学生的积极性,让学生在掌握知识的同时发展思维、提高素养。教师在课堂上要发挥引导作用,让学生在教师的指导下去思考、尝试、锻炼。
教师在进行Scratch教学时通常采用任务驱动的教学模式,一节课一个任务。对于每一个任务,笔者总是先让学生试着用自己的语言描述步骤,帮他们理清搭建脚本的过程,提炼出脚本的框架,等脚本搭建好后,笔者会引导学生分析脚本的运行规则。对于学生在操作过程中遇到的典型问题,笔者不会直接告诉学生答案,而是与学生一起分析探讨,解决问题。笔者还利用书中的“探究屋”“讨论坊”,让学生进行有方向的探究,充分锻炼学生的思维。
Scratch作为图形化编程工具,能够让学生像搭积木那样方便地进行编程,快速制作出动画、游戏、交互程序,提高学生学习信息技术的兴趣,所以教师应在教学的过程中充分锻炼学生的思维,激发学生的想象力和创造力,让学生从Scratch的使用者变为创造者。
【参考文献】
[1]王晓波.编程,让孩子成为未来世界的创造者[J].中小学信息技术教育,2020(11):8.
[2]郭威,张雯霏.儿童Scratch课程研究现状、热点及前沿趋势分析—基于CNKI2009-2019年文献的知识图谱分析[J].中国教育信息化,2020(04):33-38.AE514F2F-9F5D-4F01-B4F6-01F5FB51E0D1