张贯虹 丛雪
摘要:讨论适应我国本科院校的计算机科学与技术专业的程序设计语言课程教学模式,提升计算机程序设计语言课程的教学效果,通过问题设计和分组讨论进行统计学分析等方式,对比传统教授法和模块化PBL的教学效果结果显示,模块化PBL教学法更有利于提高本科高等院校的计算机程序设计语言课程的教学成效。
关键词:PBL教学;程序设计语言;教学效果
中图分类号:G424 文献标识码:A 文章编号:1009-3044(2014)07-1481-04
程序设计语言课程是计算机科学与技术专业所学习的核心课程,其开设的主要目的是向学生讲解和教授计算机相关专业知识,掌握和理解编程语言的思想、算法和语法,提升学生的实际解决问题和编写程序代码的动手能力,加强对知识点的综合运用能力,从而可以针对相关专业领域内的实际问题进行分析、设计和解决。以往的程序设计语言课程的教学实施是老师的课堂理论灌输,讲解一些程序代码范例,最多课后布置一些练习题目。在这样的教学活动中,先讲解概念再描述算法思想,结合代码范例学习程序设计语言的具体语法。通过传统的教学组织,课程讲授完成后学生的自身能力的不同以及接受程度不同,导致教学效果不理想。有些学生会出现只学习到了呆板的语法知识,可是面对具体的实际问题时,无法结合知识点去分析问题,解决问题,编写代码。所以会对课程的学习产生抵触和消极情绪,特别是对一些学习基础较差的学生,这种情况更严重。因此,为了提高教学效果,使学生在课程的基本知识学习完成后可以去解决实际的现实问题,编写出像样的完整的代码,提升动手编程能力,该文对程序设计语言课程的整个教学规划、组织和实施进行了改革,采用基于问题的引导式教学方法,以解决相关问题为线索组织课堂教学行为,让学生在分析问题,解决问题的过程中不自主的进行思考,设计算法,以书本的基本概念、定义、基本语法为基础,综合组织和运用所学习的知识去完成程序的编写,从而提升自己的实际动手能力。
1 PBL模式背景
PBL(problem-based learning),做提问教学,也可以被称作为基于问题的学习,是基于现实世界的以学生为中心的教育方式[1-3]。1969年由美国的神经病学教授Barrows在加拿大的麦克玛斯特大学创建。PBL教学方法以从现实世界中抽取出来的实际问题为解决目标,这个初始问题被叫做驱动问题;学生在老师的帮助下自主去对实际问题进行分析和解决,开展小组活动和讨论,小组成员一起探讨问题的解决方案;在整个分析问题的过程中,书本和课堂上所教授的基本知识和语言语法被学生拿来当做学习工具实际应用,程序算法和编程思想的实现则帮助学生的编程能力和动手能力的提高。学生通过自身的学习和努力设计、完成一个完整的问题解决方案。在程序设计语言课程中,现实实际问题就是要编写出来的具体代码工程,解决实际问题的过程里学生需要先小组讨论分析问题的背景,产生的原因,要解决的步骤,最终的成果等;然后通过自己的代码编程,完成一个一个的源代码编写。最后把每个独立的源码程序封装成完整的工程项目。这个工程项目结果就是学生自己的解决方案的成果。PBL教学方法强调以学生的主动学习为中心,把学习和任务或问题联系在一起,设计现实性任务,鼓励主动探索,鼓励对整个学习任务、内容和过程的分析、总结等。
2 程序设计语言教学的基于问题学习法研究
程序设计语言课程强调对学生的分析实际问题和编写工程代码的能力的培养,但是对于大多数的学生来说在课堂上所教授的语法、数据结构和算法程序的具体实现与分析这些知识点是非常抽象的。所以让学生自己自主学习程序设计语言的语法,训练实际动手编程能力是程序设计语言课程的教学重点。只有这样,才能让学习对程序设计语言的语法、算法、思想和代码编写得到熟悉、理解和掌握。进一步,提高学生的知识点的存储,完善程序设计语言的技术储备和锻炼实际编程动手能力。将书本上的“死知识”转化为现实中的解决问题的“活能力”。该文将通过程序设计语言中的通用的两个基本知识点:指针和函数[4,5]来进行教学活动的设计、组织和实施。在完整的工程代码中,基本组成单元是函数,函数的编写和组合运用是编写工程代码的基本工作。指针则是较为难理解和运用的一个基本知识点,特别是对内存地址的描述和引用,学生很难理解。用这两个知识点作为入口,来应用基于问题的学习法的研究具有一定的代表性。程序设计语言的基于问题学习法的教学活动的设计与具体的实施过程如图1所示。
2.1 教师准备
学生和老师要一起讨论,实施和配合,才能保证基于问题学习法的教学的成功开展。教师在备课阶段先向学生介绍基于问题学习法的具体实施过程和细节,讲明基于问题学习法和传统的灌输式课堂讲授方法之间的不同之处,让学生明白自己所处的环境和要面对的情况。教师的课前准备要充分,教师要熟练掌握教授的课程内容,认真、仔细的回答学生的各种提问不断提高自身的教学水平和实践能力。学生理论教学环节学习前根据教师结合教材的具体内容所布置的学习内容和任务,提前进行预习,调研相关的背景材料,对所需要學习的数据结构算法和重点、难点进行自我学习和分析。
2.2 学生活动
通过与学生的互动和学生的主动配合,可以保证基于问题学习法的教学的成功开展。但是如何将学生进行分组是个比较特别的问题,而学生分组是基于问题学习法的教学实施的必要措施。在整个教学班级里,每位学生的知识水平、学习能力和动手能力都是不一样的。分组既要将每位学生组成一个团体,组内学生要能够积极的互相讨论和交流,还要有所区分,结合个人的实际情况和特点,考虑其学习能力和学习主动性。因此,在分组是可以采用自主报名与教师人为指定两种方法相结合去实施。根据学生实际人数将其分成若干人一组,每组指定两名正、副组长。整个小组的讨论,问题分析和整体把握控制由组长负责,小组具体方案的讨论实施。副组长负责小组内部组员之间的交流和沟通,协助组长完成方案的实施。在小组内,有些学生的能力较强,可以让这部分学生完成具体的代码编写;有部分学生个人能力不够,实际动手能力较弱,在分组讨论时要鼓励他们多发言、多交流、多合作,进而提升自身能力。
在基于问题学习法的教学过程中设计什么问题、如何设计问题、问题的评价机制的确定是基于问题学习法的教学的成功开展的考核指标。设计问题时以教学内容和教学大纲的指导为线索,把教学目标的实现作为重点进行。例如,函数的递归调用时程序设计语言的特点之一。根据教学内容和教学你不,可以设计以下的问题:“函数是什么”,“为什么要用函数”,“函数的优缺点和应用情况是什么”等一系列问题。在整个教学过程中,教师不断的通过问题去引导学生思考,鼓励学生用自己的思维和方式去提问,分析,解答,自由交流。教师作为学生发展学习能力和掌握学习技巧的促进者和资源提供者,要不断的去引导学生思考和讨论,并实时了解学生的思维动态和讨论情况,为后去的教学环节做好铺垫。
2.3 教师活动
根据上述所提出的设计问题,函数和指针的概念看似简单,但是实际上学生要想真正的理解和掌握递归调用的过程光靠传统的课堂讲授是很难准确把握和理解递归调用的过程布置以及其中各个变量的变化情况。在这种情况下,借助集成编程软件就可以分解递归调用步骤,来理解整个递归处理的过程。
2.4 教学效果总结
基于问题学习法的教学方式在程序设计语言课程的实施是否有助于学生对程序语言知识和算法的学习的提高,在课程教学结束后,进行了调查和交流。采用基于问题教学法的教学设计可以让教师以问题为引导,学生带着问题去学习课本的基本知识,在分析问题和解决问题的过程中,将所学到的语法,算法和编程思想转化为实际的代码,实际的动手编程能力。最后有了代码成果,学生会对知识的学习有成就感,从而更有兴趣和信心去学习后续的知识。并且在学习过程中,由于是小组讨论和合作的模式开展的,所以学生还锻炼的团队合作与互助能力,而该能力的培养也是传统教学方法所欠缺的地方。
3 结论
本文通过讨论适应我国本科院校的计算机科学与技术专业的程序设计语言课程教学模式的设计和实施,以提升计算机程序设计语言课程的教学效果为目标,通过问题设计和分组讨论进行统计学分析等方式,对比传统教授法和模块化PBL的教学效果结果显示,模块化PBL教学法更有利于提高本科高等院校的计算机程序设计语言课程的教学成效。但是,在实际的实施过程中,教师在准备前期教学活动中需要大量的资源,这种资源的获取代价较高。这可能会使得大部分教师不太愿意去进行教学模式的改革。另外,再好的教学模式都需要学生的配合,如果在实施过程中只有教师自己的热情投入,而学生没有积极性和主动性,那么教学效果也不会很理想。因此,在已有的研究现状下,如何最大化的减少该教学模式的实施代价,以及更大程度的调动学生参与的热情和积极性,最大效益发挥学生的主观能动性,是后面后续要进行开展的工作。可以通过让学生也来参与到前期的教学环节和活动的设计,听取学生的意见和建议,全方位的进行师生合作,以期来改善教学方式、提高教学效果。
参考文献:
[1] 常本勤.基于问题的学习模式在程序设计类课程教学中的应用[J].计算机教育,2010.2:125-127.
[2] 张翠萍.PBL教学法在C程序设计教学改革中的应用[J].福建电脑,2011.8:186-187.
[3] 徐一秋,王立伟,王海波.PBL教学法在C程序设计实验课教学改革中的应用[J].计算机教育,2010.21(10):93-95.
[4] 王江涛,陈得宝,杨一军.基于VC++平台的C程序設计可视化研究[J].吉林师范大学学报(自然科学版),2012.4:72-74.
[5] 谭浩强.C程序设计[M]. 4版.北京:清华大学出版社,2010.
[6] 彭海云,马占欣.基于PBL竞争机制的“程序设计基础”课程教学模式探究[J].实验技术与管理,2012.29(6):174-177.
[7] 林锐利, 刘芳. PBL 教学与我国高校教学现实适用情况探讨[J]. 黑龙江教育, 2008,(1-2):98-100.
[8] 刘春城. PBL 教学模式在工程训练教学中的探索与实践[J]. 实验技术与管理, 2012, 29(4):158-161.