有效失败视域下小学编程教学实践探究
作者: 王卫坚
摘要:本文针对当前小学编程教学中存在的教学问题,同时为了促进学生的有效学习,设计了有效失败视域下不同场景的小学编程教学活动,提出了针对不同失败场景下的教学思路,并通过教学实践进行更新、完善,以期为基于有效失败理论的小学编程教学提供借鉴。
关键词:有效失败;小学编程教学;实践探究
中图分类号:G434 文献标识码:A 论文编号:1674-2117(2023)23-0046-04
问题提出
《义务教育课程方案和课程标准(2022年版)》将信息科技课程从综合实践活动课程中独立出来,并提出信息科技课程要培养学生的核心素养,即信息意识、计算思维、数字化学习与创新、信息社会责任。在计算思维素养的培养中,小学编程教育是发展学生计算思维的主阵地。但当前的小学编程教学存在着诸多问题,如有的教师将“看得见、摸得着”的实践操作和完成指定的编程成品作为教学目标的全部,而对于计算思维这一高阶能力的培养,则往往“视而不见”;有的教师在小学编程教学中依旧采用讲授法、演示法进行教学,将一个个编程作品的思路方案“完美呈现”,期待学生在提交作品时有极高的完成率。这样的做法使学生缺乏自主探究时或失败或成功的真实体验,长此以往,学生的学习兴趣低下,学生失去了进一步拓展应用的积极性,也无法实现有效的学习。
学生的学习探究过程因受到知识场景、个人学习能力的限制,并非一帆风顺,而是常常遇到困难,甚至出现“失败”的学习情形。而实践表明,让学生适度遭遇“失败”的探究尝试,能有效激发学生的主体意识,促进学习的发生、记忆的保持、知识的迁移以及计算思维的提升。
有效失败理论
有效失败(Productive Failure)理论由新加坡南洋理工大学的摩奴·卡普尔(Manu Kapur)于2008年提出,他认为学生在学习过程中遇到的失败和困境虽然暂时阻止了学习任务的顺利完成,但从长远的学习效果来看,正是学习中的困难和学生在困难中“挣扎”的过程,真正促进了学生问题解决能力、知识迁移能力、创新能力的发展。
基于这一理论,为了促进学生学习的真实发生,教师可以利用可以预设的学习失败来重新设计教学活动环节,故意设置一些“陷阱”让学生遭遇失败,进而让学生从“失败”中总结经验教训,并走向成功。
“失败”的学习场景再现
场景一:观察不细引起的失败
教学设计片段1:
师:请同学们打开桌面上的“画城堡.sb3”素材文件,并参考任务书中的数值,搭建小三角形、大三角形、正方形、门、长方形的自定义积木。(学生根据任务书数值提示,利用已学的画正多边形知识进行相应脚本的搭建,然后单击各自定义积木,观察舞台上各基本图形的生成情况,教师巡视学生完成情况)同学们,任务书中的自定义积木都完成了吗?
生:完成了!
师:这个“城堡”图(如图1)该怎么绘制呢?
生:把刚刚的自定义积木按照一定顺序搭建起来就可以了!(教师示意学生观察“城堡”图的结构,并尝试利用刚刚搭建好的自定义积木,画出完整的“城堡”图)
生A:老师,为什么我画的“城堡”图是这个样子(如图2)?
师:你的单个自定义积木脚本是否正确?(生A展示脚本,此时教师发现有不少学生也出现此问题,因此利用教学软件集体广播给全班同学)同学们,谁能帮帮小A同学,看看他画的“城堡”究竟什么地方出了问题才导致出现这个情况?
生B:我认为小A的图形中主要是画正方形出了问题。刚刚我绘制的时候,也有这个情况,后来我仔细观察脚本和实际画图情况,发现小三角形和大三角形画完一条边之后都是左转120度,而正方形如果也是左转的话,就会往上方画,就画不出正确的“城堡”图,然后我把它改成右转90度,并重复4次就解决了。
本案例是五年级《自定义积木画城堡》一课的教学片段,重点是观察“城堡”图形的结构,并利用自定义积木搭建相应的单个基本图形脚本,再按一定顺序整合,进而完成整个“城堡”图形的绘制。部分学生在观察图形结构和画笔的画图走势时,虽然知道了各个图形的旋转角度,却忽略了旋转方向,导致整合画图时的失败。针对这样的失败场景,教师可以提供学习支架,如微视频,也可以采用小组合作学习,让已经完成任务的学生帮助出现问题的组员,通过“兵教兵”的学习方式,找出错误原因并纠正,从而完成小组学习任务。
场景二:迁移不足引起的失败
教学设计片段2:
师:同学们,在图中(如下页图3),我们利用“克隆”积木瞬间生成了一行8块砖,请问一行砖块生成之后,要生成如下页图4所示的5行40块砖,需要怎么办呢?(此时,出示任务书,让学生尝试搭建自动生成多行砖块的脚本。教师巡视发现,部分学生虽然用了重复执行模块,但绘制的图形仍然和图3一样,并未生成多行砖块)不少同学辛辛苦苦搭建了画5行砖块的程序,可是运行后还是只有第一行的8块砖,到底是哪里出问题了呢?
生C:画完一行8块砖之后,因为是5行,需要把这个动作重复5次。
师:你成功了吗?
生C:没有。
师:有谁知道为什么吗?
生D:砖块画完一行之后,它应该是往下移动了。
师:接近真相了!老师给你两个选择,在画完一行砖块后,x坐标和y坐标中谁发生了变化,谁没有变化?(因此处出现问题者较多,教师利用广播软件向全班展示画砖块动画)
生D:我知道了!画完一行砖块之后,x坐标又回到了初始位置(-205),没有变化,而y坐标往下移动了一块砖的高度,发生了变化!
本案例是五年级《打砖块游戏2.0》一课的教学片段,重点是利用克隆积木瞬间搭建40块或其他块数、形状一样但颜色各异的砖块。在搭建过程中,需要理解x、y坐标的概念,以及它们在绘制砖块过程中的变化情况,特别是在绘制一行砖块时x坐标发生变化,而绘制多行砖块时,x坐标和y坐标各自发生了不同变化,从而导致不同的绘制结果。在教学中,教师针对失败场景,鼓励学生自己去探究、尝试,进行迁移和对比,让学生在不断尝试和经历失败的过程中,发现问题所在,并最终想办法解决问题。
场景三:思考不深引起的失败
教学设计片段3:
师:同学们,通过前面的分析和实践,我们对编写Python代码求1+2+3+……+100的和有了一定的掌握。现在老师考考大家,在刚刚的脚本中,哪个函数最关键?
生E:是for循环中的range()函数!
师:对!如果要大家用Python中的for语句编写求1~100以内所有偶数之和的程序,该注意什么呢?(学生动手操作,用Python编写程序代码,教师巡视,并重点关注sum初值的设置,及range()函数中几个参数的设置情况,巡视中发现了三位学生的不同代码,如下表所示)
本案例是六年级《高斯求和我也会—for循环》一课的教学片段,重点是巩固Python语言中变量初值的设定,理解for循环语句中range()函数的参数设置,探究相应的语法特征和作用。学生1和学生2代码编写的“失败”源于对range()函数的参数细节理解不够深入,同时对1~100之间所有整数和1~100之间所有偶数的差别没有进行深入思考、对比,最终在设置range()函数中的初始值、终值、步长时出现“混乱”状况,从而无法输出正确的程序结果。在遇到这样的场景时,教师可以分别请不同的学生来分析、评价失败代码,也可采用类似“苏格拉底产婆术”的连续提问法让学生通过观察(失败代码)、对比(求1~100之间所有整数之和),最终得出结论(初值为2,终值为101,步长为2)。最后,当学生从上面的分析中找出问题的症结并修改程序之后,可以再次升级“难度”,以检测学生是否真正掌握,教师也顺势进行相应的归纳和总结,以加深学生的印象。
结语
从上面的几个场景中可以看出,有效失败的教学模式可以促进小学生有效而真实地进行编程学习。当然,在实际实施有效失败理论指导编程教学时,还有以下问题需要引起注意。
1.给予学生充分的探究学习时间
有效失败教学理论强调,要尽量设计复杂的、允许出现多种不同解决方案的问题情境。基于这样的原则,教师在编程教学准备中,就要提前预设好适切的教学情境、教学任务,以及相对应的应对策略,并做好测试和验证工作。教学中更要尽可能地给予学生充分的探究学习时间,对于逻辑思维能力正处于发展初期的小学生而言,编程教学本身就是综合了信息科技、数学等多个学科的内容,因此,只有给学生充分的时间进行探究,让他们在分解、抽象、概括、调试等过程中有一定的失败尝试机会,才能真正促进他们逐渐靠近成功。此外,留给学生充分的时间,可以让学生有机会比较他人不同的解决方案,有机会让自己的失败之处被他人及时发现并得到纠正等。
2.把握教学案例的难易程度
有效失败中的“失败”主要指向外在表现,即学生编写的脚本或代码无法生成想要的结果,或根本编不出脚本或代码。而“有效”则指向学生学习的真正发生。如果教师提供的教学背景过于宏大,展示的教学案例知识过于困难,那么学生的学习就难以真正发生,这也极有可能导致学生的学习与外在表现都走向失败,从而背离教师教学设计的初衷。因此,把握教学案例的难易程度也是教师教学设计的重要环节。把握教学案例的难易程度需要注意以下几点:首先,把握教材中相应教学内容的难度。这就需要教师在备课时要充分了解学情,把握学生已学的知识,以及学生的接受能力。其次,教师在教学时提供的范例应注意知识点的难易要适中,尽量少用或不用超出学生学习能力的知识点,如果必须使用,则最好事先举例说明并做好铺垫,以保证学生能理解。最后,学习任务的难度要适中,要让学生在规定时间内完成编程作品,学习任务的难度要呈现由浅入深、由易到难的阶梯状,让更多的学生能以一种开心、愉悦、充满成就感的心情进行编程学习。
3.提供及时有效的学习支架
有效失败理论强调在一节课的教学开始阶段,不要提供结构化的支架,以免影响学生的探究欲望。但这不等于不给学生提供任何帮助支架,实践表明,只有提供时机恰到好处的教师“点到为止”的帮助支架,才能让学生在经历过“失败”并绞尽“脑汁”几乎要“放弃”的情形下得到真正的、有效的帮助。
参考文献:
[1]中华人民共和国教育部.义务教育信息科技课程标准(2022年版)[S].北京:北京师范大学出版社,2022.
[2]朱彩兰,邹洁.基于“有效失败”的小学Scratch教学研究[J].数字教育,2020,6(01):80-85.
[3]KAPUR M.Productive Failure[J].Cognition and Instruction(S0737-0008),2008,26(03):379-425.
[4]郭婧远.创客教育中利用有效失败促进学习的研究[D].上海:华东师范大学,2016.
[5]王小玲,王辰阳,王庆丽,等.利用有效失败促进技能课教学的支架设计[J].中国信息技术教育,2019(11):47-50.