基于有效失败的不同场景信息技术教学支架设计
2022-09-26姜华江苏省江阴高级中学
姜华 江苏省江阴高级中学
笔者在教学中发现这样一个问题:在教学中,如果直接展示知识体系,使学生正面理解后进行记忆;或者直接示范标准的技能与方法,让学生观摩后再进行模仿;当学生遇到困难或者失败时,直接提供相应的解决方案……这些做法当堂可以达成教学目标,但学生很容易遗忘,而且不会拓展应用。这说明,仅通过机械识记、简单模仿追求表面上的成功,并不意味着学生实现了有效的学习。那么,如何通过设计一个有效的学习支架,实施课堂有效教学,让学习真实发生?
有效失败理论为这一教学问题提供了启发。新加坡的卡普尔(Manu Kapur)教授在2008年提出了“Productive Failure(有效失败)”概念,并以此展开了教学研究。在这一理论的指导下,教师在教学的初始阶段不提供结构化的认知支持,让学生遭遇失败,但学生经过个体、小组探索形成了知识建构,即学生在表现上是失败的,但学习真实发生了。根据这一理论,为了促进学习真实发生,可以利用预设学生的学习失败来重新设计教学活动环节,利用故意设置的陷阱让学生遭遇失败,进而从中学习。
笔者在高中信息技术课堂中开展有效失败教学实践时发现,预设合理的失败、设计失败发生后的学习支架是关键。本文结合教学实践,总结出三种常见的学生“失败”场景,并提出了相应的教学支架设计实施策略。
● 场景一:失败的方法(隐性的失败)
教学设计片段:
师:请同学们打开“1基础代码.py”文件。这是什么结构?这个程序的功能是什么?
生:顺序结构。
师:任务一主要是考查大家基本技能的掌握情况。请同学们在基础代码上进行修改,绘制一个五角星。(学生动手操作,用Python实现五角星形状的绘制,教师巡视指导,找到采用不同算法设计的学生,列出学生A和学生B的代码,如下页图1所示,请学生A回答。对比分析两位学生算法的区别,适时请学生B补充回答)
图1
循环结构发挥了程序绘图的优势——重复执行,使程序代码更合理,提高了可读性和可扩展性,当要绘制十个、二十个角的星形时,循环结构的优势会更凸显。
本案例是算法的三种基本结构教学之后的综合应用,重点是引导学生探究问题的算法,通过使用顺序、分支、循环三种基本结构解决问题,体验不同算法效率的差别。在教学中,教师为学生提供了绘制一个正方形的基础代码,因为学生对turtle模块的使用还不熟悉,提供基础代码可以减少学生编写基础代码的时间,而且提供的是一个顺序结构的代码,很多学生可能会因为思维定势,直接沿用顺序结构的方法绘制五角星,导致失败。这样的失败,结果是正确的,只是代码不够简洁,方法不够高效,不是最优的方案。教师通过对比分析的学习支架,展示不同算法,帮助学生明确利用循环结构可以简化代码,高效地完成五角星绘制。
这一类型的失败,因结果无误,学生无法即时发现失败,所以是隐性的失败。针对这种失败,学习支架可以是探究性活动表,通过设计相应表格,聚焦学生的注意力,通过活动表的信息,引导学生发现失败。还可以通过前后代码对比分析等活动,帮助学生明确失败的原因,进而形成正确的认识,实现对新知的学习。在此过程中,需要根据实际情况适时增加协作支架,通过学生间的协作,共同发现问题,减少学生的认知负担。
例如,在《让机器人更聪明——做出判断的分支》一课的教学过程中,在学生设计防疫模块的温度比较运算活动时,教师使用int()函数对input()函数接受的string类型数据强制转换为整型数据。在开展活动时,当学生输入整数的温度时结果是正确的,但如果输入小数的温度就会报错,所以笔者设计了活动记录表,以情境支架引导学生进行算法测试,并提供int()、string()函数说明等学案资料,使学生在体验比较运算符的同时遭遇新的“失败”,并引导学生将注意力集中在“导致失败的原因是什么?如何解决?”等问题上,不让学生过分遭遇失败,有效引导学生学习发生。
● 场景二:失败的结果(显性的失败)
教学设计片段:
师:Python非常贴心,为我们设计了range()函数,它可以直接生成一组连续增加的数字,构建for循环的迭代列表。[学生打开执行learn2.py,如图2所示,体验for-in语句执行过程和结果。教师展示讲授执行过程,以及range(start,end,step)语法]
图2
请同学们尝试用range()函数输出2到10之间的偶数。(学生尝试输出五个偶数,并分析失败原因,讨论“顾前不顾后”、步长的含义,如图3所示)
图3
本案例是《繁花曲线——周而复始的循环》一课的教学片段,重点是理解range()函数的应用,探究语法的特征和作用。在设计时,充分利用range()函数使用过程中可能出现的问题,如学生对函数的参数理解不到位、设置不当,导致无法成功输出2到10之间的偶数。这里的失败属于参数等细节处理不到位导致结果有误或者有偏差,失败有显性的失败结果和特征。针对这一类型失败的场景,可以使用问题链式的学习支架,引导学生开展独立探究活动,通过对比分析,使学生聚焦于认知冲突和引起失败的原因,引发思考。同时,还可以使用协作学习支架,学生互助解决“失败”,从而促进学习的发生,最后教师总结,帮助学生更好地理解知识点,加深印象。
再如,在《数据的计算》一课的教学过程中,由于分类汇总的操作是初中的技能要求,随着时间的推移,学生对分类汇总操作要先排列这一知识点已经遗忘或者模糊,在这种情况下,教学中可以故意设置陷阱,提供乱序的数据表,学生根据现有模糊知识储备来解决问题,必然导致失败。教师以此问题为契机,让学生自主探索或小组合作探索出错的原因,最后提示分类汇总也称“分类后汇总”。这样,通过比较、协作等支架,学生能深刻理解分类汇总前排序的作用和意义。
● 场景三:失败的体验(感性的失败)
教学设计片段:
活动一:编写防疫机器人“小江”的聊天模块。
师:刚刚我们已经实现了最简单的人机对话(如图4),请大家思考一下,我们是如何获取用户的姓名信息,并输出姓名进行对话的?(学生回答)这里有一个关键点,就是变量name。(教师讲解变量的定义、命名规则、赋值等)恭喜大家,完成了“小江”的第一个功能模块,但有同学在调试程序时发现了一个Bug,无论输入什么信息,小江都是同样的回答,好像智能机器人“小江”不是那么智能,这主要是因为“小江”还没有判断的能力,正如我们今天的课题一样,判断分支让机器人更聪明,期待同学们运用本节课判断分支等知识改进“小江”2.0智能升级版。
图4
在《让机器人更聪明——做出判断的分支》一课的教学设计中,笔者以探究防疫机器人“小江”的设计为主线,将课堂情境化教学与生活化教学相融合,用“小江”的几个功能模块探究活动串起整个课堂,采用精准定位、螺旋上升的学习方式。将教学活动置于现实的生活背景之中,激发了学生作为生活主体参与活动的强烈愿望。但是,设计一个现实生活中的防疫机器人,即便是仅仅探究防疫机器人相关算法也是不可能的事,失败是必然的。这种“失败”表现为课堂活动成功,但体验上感觉“失败”。针对此类问题,笔者的设计思路是关注学生的兴趣点和本课的知识难点,设计一个有一定挑战性和激励性的任务,用一次似乎不完美的“失败”体验,完成新知识的学习,通过互动式教学支架,让学生明白理性的判断是建立在理性的认识基础上的,点燃学生进一步学习知识和知识迁移的主动性,以达成学习和发展的目的,并使情操得到真正的陶冶。
综上所述,教学中可通过教学设计,引发学生的认知冲突,使其遭遇失败,教师则根据不同的失败场景,针对性地提供学习支架,为学生提供帮助,在学生解决当下问题后撤去帮助,实现概念转变和方案优化,将学习主动权逐步转移给学生,从而促进学习的发生。在具体教学中,如何选择合适的学习支架展开教学,需要结合失败的场景和学情分析,了解学生已有的学习经验和生活经验。同时,教师需要注意根据实际问题提供新的支架,既不让学生过分遭遇失败,也不让学生直接获得解决策略,有效引导学生的学习发生与思维发展。