基于BOPPPS 模型的Python 程序设计课程混合式教学改革
作者: 崔悦 彭兆伟 杨旺 汤来锋 陈扬 繆远跃
摘要:为推动信息化与教育教学深度融合、教育模式变革创新,针对Python程序设计课程进行教学模式的改革与探索,介绍了基于BOPPPS创新模型的“线上+线下”混合式教学模式的设计与实践,强调学生为主体,注重练习实践对学生创新思维的培养,全面覆盖课前自学、课堂教学、课后复习整个教学过程,激发学生学习的积极性和主动性,提升教学效果和课堂效率,该教学模式在实践中初显成效,受到学生的广泛认可。
关键词:Python程序设计;BOPPPS模型;混合式教学;“线上+线下”教学;教学改革
中图分类号:TP39;G434 文献标识码:A
文章编号:1009-3044(2024)04-0144-04
0 引言
《中国教育现代化2035》聚焦教育发展中的重要问题,部署了面向教育现代化要加快信息化时代教育变革,其中提到创新人才培养方式是创新发展素质教育的有效途径。深化教学改革,推行启发式、探究式、参与式、合作式等教学方式,促进学生主动把学习、观察、实践同思考紧密结合起来,保护和激发学生的好奇心和学习兴趣,注重对学生创新精神与实践能力的培养[1]。这对推动信息化与教育教学深度融合、教育模式变革创新具有重要的意义。
Python程序设计课程成为当下高校热门开设的课程,它也是许多计算机专业本科生的必修课程,该课程旨在培养学生掌握程序设计的基本思想和方法[2]。传统教学方式学生听的多、练的少,使得学生参与性较差,对编程知识掌握不足[3]。随着互联网和信息化程度的不断发展,知识的传授方式和获取方式也在不断变化。为了增强信息技术的应用,丰富教师授课手段、协助教师精准教学并及时改进、全面提升教学效果,提高学生自主学习、终身学习意识,综合分析和评价教师教学以及学生学习的全过程,本文构建了一种基于BOPPPS模型的混合式教学模式,该教学模式以BOPPPS模型为依托[4],通过线上线下混合式教学,将教学活动延伸至课后,大大提高学生学习的空间与时间;通过参与式学习,打造高效互动式课堂,使教学中心由教师转为学生,激发学生学习的主动性和参与性,有效地提高Python程序设计课程的教学质量与效果。
1 基于BOPPPS 模型的混合式教学设计
随着信息化时代的到来,许多教学过程脱离线下教学的模式,“线上+线下”混合式教学成为教育形式的主流[5]。对学生而言,混合式教学增加调度学习时间的自主权,可以离开封闭的课堂进行更多趣味性和创新性活动;对于教师而言,混合式教学提高教学效率,不在静态知识的讲解、作业的批改上消耗太多时间,既可以集中精力带领学生进行实操或创新性学习,也可以开展科研活动。对于学校而言,该教学模式节约宝贵的师资和教室资源,提升人才培养的效率,扩大教育教学受众的数量[6]。
BOPPPS教学模型的理论依据是认知理论和建构主义,重点是如何使学生在课堂上最大限度地掌握知识,特点是充分进行教学互动和反馈。该模型将教学过程分为6大块,分别为导入、学习目标、前测、参与式学习、后测和总结,教学过程逻辑清晰,一环扣一环,使得整个课程形成教学闭环。
本文本着以学生为中心,以经典模型BOPPPS为基础进行教学创新,在该模型参与式模块后加入了一个总结模块,形成阶段性总结,通过线上线下的教学模式实现课前预习、课中学习、课后复习过程体系化,构建了基于BOPPPS模型的混合式教学模式。如图1 所示其中,将导入、学习目标、前测等3个模块为课前自学环节;参与式学习、总结I等2个模块属于课中教学环节;后测、总结Ⅱ模块属于课后学习环节,使得教学层次更加清晰,目标更加明确。课前自学和课后学习为线上教学活动,而课中学习为线下教学活动,使得学生更具有参与性。
2 基于BOPPPS 模型的Python 程序设计课程混合式教学改革实践
Python程序设计课程是一门逻辑性较强的课程,需要学生参与教学当中才能熟练掌握课程的知识点。循环结构是Python程序设计课程中非常重要的一种结构,本文以Python程序设计课程中循环结构为例,详细介绍基于BOPPPS模型的混合式教学在Python程序设计课程中的具体实施过程。
2.1 课前自学阶段
课前自学是学生认识知识的阶段,教师提前在雨课堂中发布本周需要学习的任务,任务中包含学习目标、学习资源和课前测试,学习资源一般为课件PPT,慕课视频,通过学习资源和学习目标,使同学们了解本周的学习内容和学习的重难点,这也是课前测试的知识基础。课前自学涵盖了BOPPPS教学模式的3个模块,分别为导入模块、学习目标模块和前测模块。
1) 导入。在教学中的导入模式有多种,可以引入热点问题或思维导图,也可以借助生产实例、视频影像等,导入的教学阶段的目的是帮助学生快速对循环结构产生兴趣,并顺利完成由未知到已知的过渡,从而有效引入Python中循环结构的学习内容。本文教学导入是通过在雨课堂发布的慕课视频,展示循环结构在实际编程中的应用场景和效果。通过动画展示等方式,生动形象地介绍循环结构的概念和用法。这部分主要解决“ 学什么”的问题。
2) 学习目标。学习目标主要是从知识目标、能力目标和素质目标三个维度培养学生,该教学阶段主要告知学生本周学习的方向是什么。这部分主要解决 “为什么学”的问题。
知识目标:理解循环结构的概念和基本语法;掌握Python中常用的循环结构,如for循环和while循环;理解循环中的控制流程语句,如break、continue等的作用和用法;掌握循环嵌套和循环递归的应用;理解循环结构在解决问题、优化算法等方面的作用和意义。
能力目标:能够设计和编写简单的循环结构程序解决问题,如遍历列表、计算累加和、查找特定元素等;能够有效地使用循环结构完成重复性任务,提高程序的执行效率;能够分析问题,合理选择并嵌套使用不同类型的循环结构,实现复杂的程序逻辑。
素质目标:培养学生的逻辑思维和问题解决能力;培养学生的耐心和毅力,通过迭代和调试不断改进程序;提高学生的创新意识和实际应用能力,将循环结构应用于实际问题的解决中。
通过告知学生学习目标,可以帮助学生全面理解和掌握Python中循环结构的知识,提高他们的编程能力和解决问题的能力。
3) 前测。课前测试主要目的包含两方面,一是对学生学习能力的考查;二是对学生在预习阶段对知识的掌握程度的考查。教师通过雨课堂发布与学习目标相关的难度适中的习题,并在学生完成测试后查看分析学生完成情况,总结易错点和难点,以便于教师在课中教学答疑解惑,对课中教学起到指导意义。例如,考查for循环语句的知识点,使学生理解循环语句的表达形式和用法。循环结构的学习目标如表1所示,此部分主要解决的是“学的如何”的问题。
Python程序设计课程的课前预习环节可以满足学生个性化需求。根据学生的基础和能力,提供深度问题思考和充分预习两个选择,对基础相对扎实的学生,提前思考深度问题能够激发他们的学习兴趣和挑战能力;对基础相对薄弱的学生,充分预习能够提高他们的基础,保证他们在课堂上能更高效地听讲和理解。在教师层面,通过雨课堂后台对学生的预习完成情况进行统计,并查看学生的学习时间、预习进度、视频观看情况、测试完成情况等预习数据,能及时调整课中教学阶段的教学设计安排。对于易掌握的部分,可以稍加强调,对于难掌握的部分,可以提供更详细的讲解,使教学设计更加精准。通过预习环节,学生提前接触到学习内容,能够更好地理解和掌握课堂上讲授的知识。这样,在课堂上教师就不需要重复讲解已经预习过的知识点,可以更高效地利用课堂时间,进行拓展性的讲解和深入性的练习,使得在线下课堂中的教学更加精确和高效。
2.2 课中教学阶段
课中教学阶段是为了巩固知识和攻克难点,也是教学最重要的一环,通过课堂将线上和线下教学衔接起来,课中教学包括了BOPPPS模型的参与式学习和总结Ⅰ两大模块。课中教学方式采用线下教学,老师布置习题,学生分组讨论,教师个性化辅导,授课形式不再是教师讲学生听,而是以学生为主体,把课堂交给学生,让学生充分参与教学过程,激发学生的创造性思维。
1) 参与式学习。参与式学习的教学方式是课中教学的核心部分。该教学过程主要注重对学生动手实践能力的培养,在课堂上学生通过小组讨论等方法,以小组为单位学生共同探索,进行深度交流学习,教师个性化指导,注重教与学的互动和反馈,让学生积极参与其中,让课堂真正活起来、动起来。此部分主要解决“ 怎么学”的问题。
本模式中教师首先根据从雨课堂中获取学生前测的结果数据和学生反馈,动态调整课中教学阶段的教学内容。学生的课前学习情况如图2和图3所示,在本课例中,学生在雨课堂完成前测情况较好,七成以上的学生作业成绩在80分以上,错误率较高的题目是第四题和第五题,对应的知识点分别是循环嵌套的部分和递归循环部分。因此在参与式学习过程中,教师先简单总结循环结构的知识点,然后对前测难点问题进行解惑,接着进入小组讨论,共同参与程序设计环节。
课中教师发布的程序设计题,难度不同,如棋盘放米、简单计算、子孙问题等简单程序设计;九九乘法表、打印图案等针对循环嵌套知识点的程序题;阶层、斐波那契数列、汉诺塔等循环递归知识点的程序题。学生小组可根据对知识的掌握程度对每类难度的题选择一个进行解答。
学生在自主学习、小组讨论、程序设计的过程中,遇到问题可以随时与同组同学进行讨论,也可以咨询老师;对于不主动提问和思考的同学,教师通过课堂巡查的方法,询问程序设计完成进度和正确与否,可以及时发现存在的问题,并主动给予帮助。通过课堂中教师和学生、学生和学生之间的高效互动,学生可以积极主动地参与知识的学习当中。
2) 总结Ⅰ。总结模块教学时间不长,目的是对本节课所讲知识点的概括和梳理,教师课前通过点名小程序随机抽取一名“幸运观众”,在总结环节让其总结本节课的知识点,这也会使学生在学习本节课时精力更加集中,学习效率更高。同时随机点名的方式,更加具有趣味性,激发学生学习知识的兴趣,使学生更乐于参与学习当中。最后由教师对学生的回答进行点评和总结,使学生更易于知识的消化吸收。此部分主要解决的是“学了什么”的问题。
2.3 课后学习阶段
课后学习阶段既是对前两个教学环节所学知识的巩固与拓展,也是教学过程中不能缺少的一部分。课后复习通过雨课堂平台进行线上学习,探究知识的个性化拓展。该阶段主要有2个部分组成,后测模块以及总结Ⅱ模块。
1) 后测。后测是对学生在自我学习阶段和课堂学习阶段所学知识的应用与延伸。教师通过雨课堂平台发布若干道难度不同并具有较高综合性、应用性的程序设计作业,学生可以根据自己对知识的掌握程度和学习能力选择其中的几道题目进行设计,这样可以使课程更具有挑战性,培养学生攻坚克难的能力。
由于学生对知识的掌握程度不同、学习的能力不同,后测部分是学生自选练习难度进行练习和挑战。为激发学生的挑战精神,不只做自己会的题,教师在课后每隔一周就将练习完成度榜单截图发布到班级课程群中,对习题完成度较高或明显进步的同学进行表扬,并在学期末采取积分奖励制度,对完成度高的几位同学给予物质上的奖励,通过以上方式,可以激发学生的好胜心和竞争意识,促使他们积极参与到Python循环结构的学习中,争取取得更好的成绩和表现。这种竞争性的学习环境可以激发学生的学习动力,提高他们的学习效果和个人成长。此部分主要解决的是“学得如何”的问题。
2) 总结Ⅱ。最后的总结阶段是为了巩固学生学习知识的效果,教师可根据课堂测验的情况和后测部分作业完成的情况,在学生对每章学习完成后通过班级群进行评价,评价的依据以学生的平时成绩为基础,在群里对学生知识掌握薄弱的部分和程序设计中遇到困难的部分进行线上解惑和讨论,在讨论中教授延伸的知识。此部分主要解决“ 学会什么”的问题。