尤菲菲,尚晓丽,张睿楠
(绥化学院,黑龙江 绥化 152061)
利用PBL教学模式提高教学质量研究
尤菲菲,尚晓丽,张睿楠
(绥化学院,黑龙江 绥化 152061)
以程序设计实践课程为例,提出PBL教学模式的教学目标及内容,阐述了以“问题”作为教学起点,通过小组教学形式,运用PBL教学模式提高学生的主动学习能力,增强学生动手操作能力,促进学生团队合作能力,并在此基础上总结提炼出采取PBL教学模式进行教学的优势.
PBL;教学模式;教学改革
程序设计课程作为理工类专业的基础应用课程之一,目前越来越受到广泛重视.结合绥化学院 “建设应用型大学,培养应用型人才”的办学思路,程序设计课程教学质量的提高对改善学校整体教育教学质量具有重大意义.程序设计实践作为程序设计课程的后继课程,该课程在巩固已学程序设计基本知识基础上,旨在培养学生的程序设计技能.因此,针对PBL在我国大学教学实践中的应用,结合我国程序设计类课程的发展现状,在程序设计实践课程中引入PBL教学模式,能够在很大程度上改变旧的培养模式,为程序设计类课程的发展提供一种新思路.
PBL(problem-based learning)是一套设计学习情境的完整方法,它从一个需要解决的问题开始学习,由学生对问题展开探究,采用讨论法、研究法及个案分析法等方法,解决实际问题(过程类似学科专家的研究过程).
程序设计实践课程采用PBL教学模式,以问题为基础,以学生为主体,以教师为引导,以培养学生的应用能力为教学目标,在充分调动学生的主动性和积极性的基础上,最大限度地发挥教师的作用,更好地锻炼学生的程序设计实践能力.学生通过需求分析,总体设计,详细设计及编码,并通过小组讨论,小组内作品是公开分享的,各小组组长间还可以采取互助形式,向其它小组“取经”.最终设计出一组完整的系统模型,以实验报告的形式上交,做为课堂学习的成果.课程全部实验内容如表1所示:
表1 程序设计实践课程全部实验内容
过去的程序设计实验课上,常用的教学方法有讲授法,讨论法,教学过程主要包括以下四点:(1)教师讲解教材,把与本节课相关的内容讲授一到多遍;(2)在学生掌握一定的知识前提下,对程序进行分析;(3)完成程序设计的全部或大部分内容,把主动权交给学生;(4)学生动手操作,教师下讲台帮助学生解决实验过程中出现的问题.
本学期的程序设计实践课,采用PBL教学模式,以问题为学习的起点,对教学过程进行了如下划分:(1)教师把问题在课前一周发给学生,要求学生提前预习、查找相关资料;(2)课上由学生分组讨论,主动研究问题的解决方案,教师只是引导性地提示学生解决问题的方法;(3)为减小难度,帮助学生梳理实验步骤,把每个实验划分成若干个小实验,要求学生以小组的形式合作完成;(4)小组提出问题,教师参与讨论,提出解决问题方案,小组独立完成实验;(5)在有效时间内,要求小组学生把实验合并为一,实现程序功能的完整;(6)要求学生完善实验内容,课下书写实验报告.
例:学生成绩管理系统(要求:设定期末考试科目,完成学生成绩的录入、增、删、改、查,完成学生信息的保存及系统的退出,完成学生名次的排序).
4.1 课上分组讨论(学生分组自主完成)
(1)需求分析:菜单功能,采用文本菜单界面;查看功能,可以显示出学生的学号、姓名、成绩、排名等详细信息;添加功能,依次输入学号、姓名、成绩、排名等,提示是否继续添加;修改功能,选中某个人的姓名时,可对学生的相应数据进行修改;删除功能,选中某个人的姓名时,可对学生的相应数据进行删除;查询功能,要求能通过输入姓名或者学号查询学生的详细信息;保存功能,输入文件名(带后缀名)后,即可将通讯录信息保存到文件.
(2)总体设计:把系统划分为多个功能独立的简单模块,画出系统的框架结构图和总体流程图,其中系统框架结构图,如图1所示.
图1 系统框架结构图
(3)详细设计:由组长分工,要求每个组员完成指定的程序设计任务,画出程序流程图,并进行编码及代码整合.其中,编码工作在整个工作流程里占1/3~1/2的时间,好的设计过程能够极大地提高编码效率.小组工作中最需要重视的是不同模块之间的进度协调和小组成员之间的协作.其中,小组分工情况如表2所示.
(4)系统测试:学生成绩管理系统设计完成后,通过黑盒测试,进行全覆盖测试,保证系统功能的完整性,解决测试过程中出现的问题.
表2 小组分工情况统计表(例)
(5)系统优化:程序的书写结构清晰,利于日后维护;尽量采用预处理命令方式来定义常数,能够使用条件编译(ifdef)的地方就使用条件编译而不使用if语句;选择合适的算法和数据结构;使用尽量小的数据类型;自加、自减指令和复合赋值表达式(如a-=1及a+=1等)能够生成高质量的程序代码,编译器通常能生成inc和dec之类的指令;使用运算量小但功能相同的表达式替换原来复杂的的表达式.
4.2 教师引导学生正确操作
(1)分别与各小组学生共同讨论的系统模块划分的合理性;程序至少划分为input(),inCrease(),delete(),modify(),query(),save(),quit(),sort(),main()等多个子函数;
(2)指导学生画出每个子函数的流程图,采用visio以工程制图的方式进行绘图;
(3)对学生在子函数编码中出现的问题进行指导,其中,最多的问题来自全局变量的应用和子函数中形参的定义,返回值的应用;
(4)引导学生优化编码,简化程序设计;
(5)把多个子函数整合,使整个系统可以运行,功能完整;
(6)进行黑盒测试,保证系统的稳定性.
4.3 教师总结课程内容
课堂教学通过小组合作解决问题的方式,与如何设计学生成绩管理系统这个问题挂钩,学习隐含在该问题背后的共性的与实际应用挂钩的开发设计方法,提高学生用程序设计思想解决实际问题的技能和自主学习的能力.学生需要掌握的知识包括:(1)如何对小的系统进行需求分析;(2)为什么要进行总体设计;(3)文本菜单设计方法;(4)增、删、改、查、排序算法;(5)文件的保存方法;(6)系统退出方法.
教学初期,完成学生分组,用问题驱动学生主动学习.小组组长认真负责,组员积极配合,学生的主动性被带动起来,但课堂纪律受到一定影响,部分学生浑水摸鱼,偶有闲聊事件发生.因此,小组成员划分以四人为最佳,最多不超过5人.教师参与小组成员讨论,并随机抽查学生问题解决情况及小组最新工作进展情况,并加大组长负责制的力度.
教学中期,小部分小组成员由于种种原因,要求退换组或更换组长,根据学生的要求,结合实际情况进行相关调整.
教学后期,小部分学生不认真,过分依赖小组组长,等分工、少讨论,对分工工作讨价还价.要求组长注意工作量和工作内容分配的公平与公正.
与传统的教学方式相比,采用PBL教学模式的优势在于:
(1)以问题为学习的起点,通过课前预习,更好地锻练学生的文献检索能力,团队合作能力,自主学习能力等;
(2)为学生提供轻松、主动的学习气氛;给学生充分的时间和空间表达自身观点,并可以获得来自其他同学和老师的有效信息,开阔学生思维,提高学生对问题的理解与掌握能力;
(3)以学生为中心,在一次又一次的讨论与分析问题过程中,使学生主动掌握学习方法,提高学生发现(解决)问题的能力,提高学习效率;
(4)学生与教师真正意义上发生了角色互换.学生从被动的学习者转变为学习的主人,教师从课堂的主宰转变为为学生提供服务的指引者;
(5)更有效地利用实验室机器,给学生提供更多的动手操作时间.
(6)提高教师组织管理能力,控制课堂节奏能力;
(7)教师有足够的时间走下讲台与学生进行交流,真实地看到学生的实验完成情况.
〔1〕于桂芹,廖安勇,郭运娇,王军.加强实践教学,提高应用型人才培养质量[J].吉林华桥外国语学院学报,2010(01).
〔2〕郭志雄.“电子技术”课程实验教学改革的探索与实践[J].教育与职业,2011(03).
〔3〕关力凯.高职高专C语言程序设计教学改革的探索[J].职教论坛,2007(10).
G642
A
1673-260 X(2013)10-0252-02
绥化学院2012年度教育教学改革项目资助(JL201208)