1. 引言
在大数据与人工智能技术深度融合并快速发展的当下,数据的应用与价值挖掘已成为行业与学界的研究热点。Python语言被越来越多的高校选为公共计算机基础课程,因为它具有简洁的语法结构,同时具备易学易用的学习特性和强大的功能体系,在许多领域中得到了广泛的应用,如数据分析和人工智能等。
近年来,国内各高校针对《Python程序设计》课程教学模式研究越来越多,比如拓展式教学模式:是一种使用项目驱动、案例分析等多元化方法,能激发学生主动学习与实践,培养编程技能和分析、解决问题能力的教学模式,从而提升教学质量[1]。BOPPPS教学模式:强调学生为主体,通过课堂导入、学习目标、前测、参与式学习、后测、总结六个阶段教学环节,有效提升教学效果和学习主体性[2]-[4]。PBL + OBE混合教学模式:以学生为主,采用问题导向的启发式教学,旨在引起学习的注意力,激起好奇心从而对学习感兴趣,帮助学生更好地掌握理论知识、培养专业技能并提升综合素质[5]-[6]。基于OBE混合式教学模式:是以学生的学习成果为导向,突显学生自主学习探究,结合线上线下混合的教学优势,提高学生的能力培养和综合素质和教学质量[7]-[9]。BOPPPS + PBL混合教学模式:依托BOPPPS六环节结构化框架,植入PBL问题驱动核心,构建“问题引领–闭环落实–探究提升”的教学闭环,达成知识传授与能力培养双重目标[10] [11]。其中BOPPPS + PBL混合教学模式是近年来出现的一种新颖教学模式,可有效提高学生学习的主动性和课堂参与度,引起学习的好奇心,培养团结协作,理论联系实际的应用能力,进一步提升学生创新能力。老师不仅可以随时监控学生的学习过程的情况,而且结合课中课后的项目案例出现的问题,及时总结经验并做出调整,以达到较好的课堂效果。因此,本文研究BOPPPS + PBL混合教学模式在《Python程序设计》中构建、具体实施步骤和教学实践效果,以打破数学与应用数学专业学生在该课程的沉默式课堂,激起学生对学习的求知欲,提升学习兴趣,使得课堂氛围活跃,体现以学生为主体的教学。
2. 《Python程序设计》教学模式现状分析
在数学与应用数学专业人才培养体系中,《Python程序设计》作为连接数学理论与实践应用的核心课程,其教学质量直接影响学生数据处理、建模分析等核心能力的养成。该课程本身实操性较强,要求学生在理解程序设计语法格式,缩进规则的基础上,还要灵活运用程序设计基础知识去解决实际问题。但目前《Python程序设计》课程在教学过程中存在以下几个普遍的问题:
1) 授课课时32课时,其中实践课时有16课时,显然实践学习时间有限,不足以锻炼学生的实践能力。对于数学与应用数学专业的学生来说,数学逻辑推理能力比较扎实,对Python语法规则、算法逻辑的理解接受较好,但在课堂上缺乏实践操作就无法加深对知识的理解,导致在解决问题过程中也会遇到困难。
2) 在教学法上仍然使用传授式、讲练结合的传统教学模式,使得学生学习主动性和实践性受限,学生在教学过程中参与率过低,课堂氛围变得沉闷,难以调动学生学习积极性,从而产生厌学的逆反心理。
3) 学生的学习能力不同,接受新事物的能力也不同,则首次接触《Python程序设计》课程的学习进度也会有所不同。因此学生的个体差异也是教学的一个痛点问题。
4) 在课堂实践操作过程中,多数学生过分依赖AI搜题,照抄答案,完全放弃自主思考,无法建立数学原理与编程的关联。使得老师无法通过实践作业精准识别教学漏洞,难以展开针对性教学。长期以往,学生便会养成敷衍式学习,逐渐丧失自学能力及求知欲。
3. 基于BOPPPS + PBL的融合教学模式设计
BOPPPS教学模式的核心是强调学生为主体,注重课堂参与及互动的闭环式教学过程,分为六个教学环节,即引入(Bridge-in)、目标(Objective)、前测(Preassessment)、参与式学习(Participatory learning)、后测(Post-assessment)和总结(Summary),简称为BOPPPS [11]。该模式有助于提高学生的积极性与主动性,注重学生参与式学习,组内协作分析、解决问题,培养学生自主学习与探索能力和实践综合能力[4]。而PBL (Problem-Based Learning)教学模式以问题为导向,引导学生思考的启发式教学能很好激发学生探索知识的好奇心和学习主动性,增强他们自主学习和综合实践能力[10],培养独立思考和创新能力[11]。由于数学与应用数学专业学生首次接触Python编程,他们的编程基础和计算机语言的思维较弱,上课注意力不集中,学生缺乏学习主动性,理论与实践结合较弱。因此在教学中需要大量的练习掌握Python程序基本知识与代码语法格式,学会从数学思维向计算机语言思维转变,提升课堂活跃度。于是本文将依托头歌线上教育平台,将PBL教学法融入BOPPPS教学模式中的导入、参与式学习和后测教学环节,可以有效解决以上问题,并且使得每个教学环节任务不一样,以问题为导向,明确思考方向,层层递进,形成一个闭环的教学模式。
该教学模式依托线上资源,提前向学生推送下节课需要上的新知识、学习目标、PBL项目背景及完成标准等内容,搭配线下测验精准掌握学生自学效果与知识掌握程度。以项目案例提出相关问题导入课堂,可有效激发学生对知识的求知欲;参与式学习环节采用PBL项目案例剖析、分组讨论的形式推进课堂任务,引导学生将问题细化拆解、逐步攻克,在这一过程中培养学生的团队协作、互助沟通与深度学习能力,充分践行“以学生为中心”的教育理念。具体核心操作如下:
1) 课前导入(B + PBL):教师在线上教育平台发布基础知识资料,PBL项目背景及任务指引单,提出与教学相关问题,引发学生主动思考,激发学生的学习兴趣。
2) 课程目标(O):教师根据本节教学内容,发布知识目标、能力目标、素养能力,突显教学重难点,让学生在预习时明确学习目标。
3) 课堂前测(P):通过快速提问、小测、小组抢答等形式,快速检验学生预习效果与知识基础,精准定位学生的知识薄弱点。
4) 课中参与式学习(P + PBL):本环节为该教学模式的核心。通过设计小组讨论、PBL项目案例、任务问题拆解、课堂实操演练等互动活动,引导学生主动参与学习;教师发挥引导、答疑与针对性指导作用,突显学生的学习主体地位。
5) 课堂后测(P + PBL):采用课堂作业、PBL项目实操任务、口头应答、小测验等形式,检验学生学习目标的达成情况。需确保后测内容与学习目标高度契合,快速反馈学习效果。
6) 课堂总结(S):教师引导学生梳理课程核心知识点、技能要点与思维方法,同步布置课后作业,助力学生及时巩固课堂知识、强化知识的实践应用能力,形成完整的学习闭环。
4. BOPPPS + PBL的混合教学模式在《选择结构》教学中的实施
为了更好地理解所提教学模式的整体思路,本文以广西民族师范学院数学与应用数学专业24级4个班的学生为研究对象,将该模式应用到《Python程序设计》课程4.3节《选择结构》的实际教学中,具体的教学流程如图1所示。
Figure 1. Flowchart of the application of the BOPPPS + PBL blended teaching model in the teaching of Selection Structure
图1. BOPPPS + PBL混合教学模式在《选择结构》教学中应用的流程图
4.1. 课前导入
针对数学与应用数学专业学生代码逻辑思维较弱,对Python课程不感兴趣的教学问题,老师在课前利用头歌线上教育平台发布PBL项目:“成绩等级判定系统”。并提出“如何使用程序代码实现成绩等级的划分?”。从实际案例问题出发,引发学生思考,让学生感知“编程是解决数学问题的工具”,激发他们对知识的求知欲。从而引出《Python程序设计》课程内容——选择结构,并在头歌线上教育平台发布单分支、双分支和多分支的选择结构语法格式和知识点,缩进规则和条件表达式的使用方法,PBL项目任务要求等资料提供给学生预习。
4.2. 学习目标
根据《选择结构》课程内容和课前所提出的问题,设定这节课的教学目标为:
1) 知识目标:能理解if单分支、if-else双分支、if-elif-else多分支的语法结构与执行逻辑;掌握各分支结构的缩进规则、条件表达式的书写规范。
2) 技能目标:能综合应用三种分支结构基础知识解决实际问题;能独立规范编写选择结构代码;能识别并修正代码并解决问题。
3) 素养目标:以小组探讨分析,提升团结互助意识,培养分析、解决问题;通过数学建模与编程融合应用,培养数学建模与程序代码的逻辑思维能力。
4.3. 课堂前测
前测题聚焦本节课的核心易错点和上节课的条件表达知识点,考察学生对条件表达知识的掌握情况和预习情况,也有助于学生了解自身的知识薄弱之处,及时调整学习计划,又能预习新知识的重难点。课前5分钟,在头歌线上教育平台发布5道选择题的测试题,5分钟后公布正确率和易错点,既能让学生看到自己的差距,也能正向激励提升课堂参与度,并对成绩排前5名的学生计3分课堂表现分奖励。
4.4. 课中参与式学习
参与式学习是BOPPPS + PBL混合教学模式的重要一环,也是打破沉默式课堂的重要途径。在课堂上,教师按“编程基础 + 数学思维 + 表达能力”搭配进行异质分组,每组4人。分组后,教师提出问题:“何如判断百分制成绩合法?”,引发学生小组讨论,并通过学生讨论的结果进行评判,迅速了解学生是否掌握if单分支结构的基础知识。在这个问题上提出能否用双分支结构解答,再次引发学生进入深层次思考,从而掌握单、双分支结构的语法结构及他们的区别之处。
在头歌线上教育平台发布PBL项目案例:“基于Python学生成绩管理与可视化分析系统”,实现成绩数据录入、清洗、统计计算和图标可视化展示。教师提出问题“如何使用程序代码实现学生成绩管理与可视化分析?”,引导学生将此问题拆分为6个子问题:1) 如何用单分支或多分支选择结构判断输入的成绩是否合法?,合法则存入列表;不合法则提示“成绩超出有效范围,重新输入”。2) 批量录入多名学生成绩时,如何用选择结构判断“是否继续录入下一名学生成绩”。3) 已录入成绩列表中存在异常值时,如何清洗无效数据?清洗规则为:若成绩小于0或大于100,则判定异常,直接剔除;若成绩在区间[0, 100]内,则保留清洗后列表;若缺考成绩记为−1。4) 如何用多分支结构实现成绩的等级划分?规则为90分以上为优秀,[80, 89]分为良好,[70, 79]分为中等,[60, 69]分为及格,60分以下为不及格。5) 统计成绩的最高分、最低分与平均分后,如何用嵌套选择结构判断:若最高分小于60分,则提出“整体极差,需重点辅导”;若平均分大于80分且最低分大于60分,提示“整体优秀,无挂科”。6) 提供3中图表:1 = 分数段分布柱状图、2 = 成绩等级占比饼图、3 = 成绩趋势折线图,如何使用if-elif-else实现输入对应数据,自动绘制对应图表;输入无效则提示错误?针对这些子问题,学生小组内逐个思考,讨论并协力完成学生成绩管理与可视化分析问题。在这个过程中,老师巡堂了解小组讨论情况,并相应给出指导与帮助。分组汇报后,教师给予评价,点出学生容易出错的地方,比如缩进规则,条件覆盖是否全面,冒号不能省略等。对于表现不错的小组,给予课堂表现分5分的奖励。随后,教师总结学生在学习过程中普遍遇到的问题并进行详细的讲解,比如在成绩等级划分时是否包含端点值,条件表达逻辑是否正确,多分支if-elif-else与多个独立if的执行逻辑区别是什么等问题,形成了“提出问题 + 拆分问题 + 小组讨论 + 分享结论 + 教师评讲”的参与式教学模式,该模式不仅能让学生充分理解教学重难点知识,而且可以有效提高学生的学习兴趣,调动学习积极性,活跃课堂氛围,使得学生提高学习效率,解决了课堂玩手机、利用AI搜题不经过分析思考的消极现象。
在解决以上6个子问题的基础上,教师进一步提出2个拓展问题:1) 若用户未完成数据清洗,直接统计分析或者图表绘制,如何用选择结构实现流程拦截,给出提示:“请先完成数据清洗”,保证系统逻辑严谨性?2) 如何用嵌套选择结构同时完成“输入是否为数字→是否在[0, 100]→是否缺考”三层判断?学生在组内协作讨论、分析问题时,教师巡堂指导基础薄弱的学生,引导他们正确的思考,调试的正确步骤,完成拓展任务。通过拓展式问题,引导学生更深层次思考,使得学生更加理解分支结构的语法结构及应用方法,更好培养逻辑思维与创新协作能力。
4.5. 后测环节
教师可利用头歌线上教育平台发布课后测试题,出题方向为:补全选择结构中条件表达代码,调试整体代码并修改代码使得问题得到解决,if、if-else、if-elif-else分支结构的应用。再利用头歌中能运行代码的优势,把测试题设计成游戏关卡,让学生层层突破。限时8分钟,闯关时间最短的5名同学给予课堂表现分5分奖励。教师总结学生容易出错的点,评讲部分学生出错的题,点出如何调试代码的关键点,让学生巩固新知识和提高代码逻辑代码能力。该环节与游戏闯关相连,不仅能实时检测课堂学习效果,而且激发学生的学习兴趣,解决了学生不愿写课后测试题的问题。
4.6. 课堂总结
在后测环节结束后,教师提问“我们学习了哪三种核心选择结构?”引导学生思考并对所学知识进行总结,并重述注意事项:1) 条件表达多为关系比较和逻辑表达;2) 每个条件表达和else后面都要添加冒号;3) 语句块之间的缩进方式要保持一致;4) else语句应写在最后,并可省略。
教师在头歌教育平台发布课后作业,包括PBL项目“用选择结构实现三角形类型判断”“求三个数中的最小值”等任务,通过实操进一步巩固学生的知识应用能力。学生在写作业的过程中若遇到疑问,可通过QQ、学习通等线上渠道与教师沟通交流。
5. 教学实施效果
《Python程序设计》课程在数学与应用数学专业方向是基础必修课程,主要的考核方式是平时成绩*30% + 期末卷面成绩*70%,其中平时成绩包括出勤率(20%),课堂表现能力(30%),作业平均分(50%)。将广西民族师范学院数学与应用数学专业242班的学生在头歌线上教育平台融合BOPPPS + PBL混合教学模式进行教学,对比班241、243、244班采用常规教学方式授课。学期结束后4个班级的课程过程性成绩、平时成绩平均分统计对比如图2所示。
根据图2中数据可得,采用BOPPPS + PBL混合教学模式的试点班242班课堂表现平均分为95分,比其他对比班的要高出4~6分,出勤率有所改善,作业平时成绩和平时成绩平均分均比3个对比班的高,说明BOPPPS + PBL混合教学模式大大提升了课堂活跃度,激发学生的学习兴趣,调动学生的积极性,培养综合能力。
Figure 2. Bar chart of average scores of the pilot class (Class 242) and the comparison class
图2. 试点班(242班)与对比班平均成绩柱状图
从平时成绩,期末卷面成绩和总成绩的角度看,采用BOPPPS + PBL混合教学模式的试点班242班与常规教学模式的对照班的具体数据如图3所示。
Figure 3. Comparison chart of average scores between the pilot class (Class 242) and the comparison class
图3. 试点班(242班)与对比班的平均成绩对比图
由图3的数据可知,试点班242班在各项成绩指标上均显著优于其余3个班,平时成绩平均分96分,比其他班高出3~6分,说明试点班242班的学生在课程学习的全过程中参与度更高、知识掌握更扎实。期末卷面成绩平均分82.71分比最低的76.47分高出6.24分,总成绩平均分86.70分比最低分高出6.10分,表明试点班242班的学生对核心知识的理解和应用能力更强,有效提升学生整体学习。
从学生总成绩分布来看,试点班242班与其余班的总成绩分布见表1所示。
Table 1. Distribution table of students’ total scores
表1. 学生总成绩分布表
成绩范围 |
[90, 100] |
[80, 89] |
[70, 79] |
[60, 69] |
[0, 59] |
80分以上占比 |
241班 |
16 |
19 |
11 |
5 |
1 |
67.31% |
242班(试点班) |
21 |
21 |
6 |
2 |
1 |
82.35% |
243班 |
19 |
15 |
10 |
5 |
2 |
66.67% |
244班 |
14 |
8 |
6 |
2 |
4 |
64.71% |
由表1可知,试点班242班80分以上占82.35%,远高于对照班约15%,说明试点班大部分学生较好的掌握了Python程序设计的基本知识和编程方法,应用编程代码解决实际问题能力比其他3个班好。试点班的总成绩良好率明显提升且不及格率有所下降,反映出BOPPPS + PBL混合教学模式的教学改革取得了一定成效。
6. 结论
对于数学与应用数学专业《Python程序设计》课程教学中存在的问题,本文依托头歌线上教育平台,将BOPPPS + PBL混合教学模式应用到Python程序设计课程第4.3节《选择结构》的教学中,并与对照班的教学效果进行对比评价。经实践研究发现,该教学模式不仅能提升课堂活跃度,出勤率及激发学生学习积极性,改善目前教学存在的问题,而且学习效果有所提升。在参与式学习环节融合PBL项目案例,引导学生提出问题,分小组协作探讨学习,能有效提升学习效率,同时培养学生分析、解决问题的能力和团结协作的精神。但初次教学实施,存在不足的地方还有很多,比如在课中参与式学习环节时间把控不够好,课程总课时不够,新教学模式经验不足,导致学生学习出现两极分化情况等。在今后教学中需要精简教学内容,焦距核心知识,设计标准化课堂时间分配表,严控各环节时长;借鉴优质教学案例,打磨精品课例,记录课堂互动反馈,积累实践教学经验;实施分层作业,设计基础 + 提升两级作业,对于基础薄弱学生录制微课精讲视频,进行线上线下指导,提升他们的学习积极性。在教学过程中不断改进该教学模式,提升教学质量,为数学类专业程序设计课程教改提供可行路径。
NOTES
*通讯作者。