基于PBL 理念的《Python 程序设计》课程教学改革与实践
2022-07-20浙江万里学院李小青
浙江万里学院 李小青
Python 程序设计课程是高校很多专业的一门基础必修课程,该课程抽象性强,算法枯燥,学生不易学习和掌握。传统的Python 程序设计课程,按照概念、示例、上机练习等步骤组织教学,学生普遍反映上课听懂了,看老师的演示操作很简单,但自己上机实验时仍有很多问题,书上的程序能看懂,但自己编写程序却无从下手,学生学习的兴趣的逐渐减弱。本文在分析目前教学中存在问题的基础上,尝试采用PBL 应用于Python 程序设计课程教学当中, 将基础知识及计算思维有效应用到实际项目中,激发学生兴趣,提高学生的学习主动性及教学实效。
1 PBL 教学法概述
PBL (Problem-Based Learning,基于问题的学习,也称作问题式学习),是基于现实世界的以学生为中心的教育方式。PBL 提倡以问题为学习的起点,用问题来吸引并维持学生的兴趣,使学生积极地寻求解决问题的方法。学生是致力于解决问题的人;教师是问题的设计者,也是学生解决问题过程的引导者与评价者;在传授知识的过程中以学生的主动参与、主动思考为主,学生通过主动解决问题来达到更好的学习知识的目的。基于PBL 的教学实施过程如图1 所示。
图1 PBL 教学流程图Fig.1 PBL teaching flow chart
2 PBL 教学法在《Python 程序设计》课程教学中的实践
2.1 教学内容
课程教学内容围绕知识传授、能力培养及价值塑造三方面,通过Python 程序设计课程的学习,为学生提供后续专业领域数据处理的一个工具支撑,也为后续学习人工智能、机器学习、数据挖掘等奠定了知识基础,制定了如图2 所示的教学内容体系。
图2 Python 程序设计内容体系Fig.2 Python programming content system
2.2 教学实施
Python 程序设计语言是一门实践性很强的课程,学生不仅要有独立的编程及实际的操作能力,还需具有一定的创新能力及终身学习的思想。该课程非常适用PBL教学法,在教学过程中,由教师根据教学的内容与目标来进行问题情境的设计,以“问题”为核心,学生的一切学习内容是以问题为主线,以“学习者”为主体,学生必须担负起学习的责任。如表1 所示为教学计划实施表。
表1 Python 的教学安排Tab.1 Teaching arrangement of Python
以下是Python 课程中循环结构部分用PBL 教学法的实施过程。
单元名称循环结构知识目标:理解Python 中循环结构的语法格式、功能及流程图,掌握Python 中循环程序设计的编写。教学目标学习内容技能目标:通过案例学会循环结构语句,培养学生能编程解决实际生活中问题能力。价值目标:通过小组学习讨论,培养学生相互协作能力,激发学生学习程序编写的兴趣及使用编程解决实际问题的思维。学习重点:For、while 循环语句格式、功能。学习难点:循环条件的设定和变化,嵌套循环的使用。学习者分析学生已经学完了选择结构程序设计,具备了一定的程序设计思想和知识,学生对编程有一定的兴趣,但循环结构是本章的重点与难点,应该采取切实有效措施让学生理解循环结构编写及保持学生学习程序的兴趣。学习环境设计创设问题情境:假如你从今年开始,1 月份为“希望工程”存入1 元钱,2 月份存入2,3 月份存入3 元钱…依次类推,请问:两年时间里你将为“希望工程”存入多少钱?学习工具:小组讨论、Python 编程环境及Internet学习资源:网络课堂、PPT 课件及相关教案实例教学流程设计images/BZ_66_1459_2637_2325_3055.png学习过程教师活动学生活动
呈现问题情境阅读、思考假如你从今年开始,1 月份为“希望工程”存入1 元钱,2 月份存入2,3 月份存入3 元钱…依次类推,请问:两年时间里你将为“希望工程”存入多少钱?分析问题激发学生思考,回答教师问题引导学生分析该实例的循环变量是什么?初值、终值是多少?循环体是什么?该循环体执行了多少次?教师启发诱导学生认真听教师讲解,熟悉语句格式给出while 语句格式,并讲解语句执行流程组织分组 探究学习学生浏览相关资源,开展讨论,绘制流程图,填写小组活动记录表 对学生进行分组,组织小组讨论,引导学生利用各种资源用网络教学综合平台上的资源分析问题协作解决问题编写出程序代码,调试运行查看辅导,对于疑难问题给予指导建议,帮助问题的解决反馈评价小组自评及互相讨论,纠正存在问题引导小组互评和自评,展示作业成果,总结编程中存在问题及学习过程经验。提出新的探究问题学生小组讨论,找出问题,并利用网络课堂资源分析问题如果问题是“当你为希望工程存入50 元钱时,需要多长时间?”程序可以怎么样修改巩固与知识的迁移学生对比分析总结:while 循环在给定的判断条件为 true 时执行循环体,否则退出循环体;for 循环重复执行语句引入For 循环结构,分析语句格式,并讲解语句执行流程。对For 循环结构与while 循环结构进行比较,可以找出它们之间有什么异同?深入学习①求水仙花数②回猴子分桃③打印菱形、三角形、矩形……思考:在我们的日常生活中,有哪些问题可以用循环结构来解决?并请编写出程序。课堂总结延伸展示学习成果,提出存在的疑问,以小组为代表对知识点进行总结。启发学生总结本节知识点,掌握For 与while 循环类型;循环控制语句break、continue、pass 语句。
2.3 课程考核
强化过程管理,加大平时考核的力度和手段。课程的考核方式包括课堂考核、实践考核、自主学习考核以及期末考核等环节,如表2 所示。利用雨课堂课件学习、单元自测等手段,对学生自主学习的情况进行过程考核;实训的实验报告和附加题作为实践考核,自主学习考核包含组长评价、成员互评及自我评价。
表2 Python 课程考核Tab.2 Python course assessment
3 PBL 实践反思
PBL 教学特征是基于问题的学习,因此,教师设计的教学问题要能激发学习动机鼓励学习的;对学生学习过程的评价具有多元化、多样化的特点;合理安排每个环节的时间,适时的引导、启发学生围绕问题进行讨论,同时加深对知识点的学习理解;要找准切入点,引入课程思政元素。
4 结语
基于PBL 的《Python 程序设计》课程教学模式过程中,学生有更多的机会去分析问题,收集资料、自主探究,从而培养了学生的解决问题能力和协作学习能力,学生体验到了成功的乐趣,激发了他们学习的兴趣和热情,学习的主动性更高。
引用
[1] 余波,罗莉霞,易晨晖.新工科建设背景下Python 程序设计课程教学改革与实践[J].计算机教育,2021(11):80-83.
[2] 朱鹏飞.论Python程序设计语言对大学生计算思维能力的培养[J].数字技术与应用,2017(3):238-239.
[3] 董艳,和静宇.PBL项目式学习在大学教学中的应用探究[J].现代教育技术,2019(9):53-58.
[4] 许洪云,陈朝焰.新工科背景下Python教学探讨与实践[J].计算机时代,2021(9):96-98.
[5] 李秀香.PBL模式下高职院校C语言程序设计课程教学改革与实践[J].电脑与电信,2018(7):68-70.
[6] 张敏,贾强.基于计算思维的Python程序设计课程教学案例设计[J].微型电脑应用,2021(3):48-50.