王云艳等
摘 要:传统的“面向对象程序设计”课程的教学模式是以教师为主体,先进行理论教学,然后再进行实验教学,学生学习过程较被动,且不利于激发学生的学习兴趣。针对上述问题,本文探索了一种“三位一体”的教学方法:以项目为引导,用任务进行驱动,理论实践教学一体化进行。这种教学方法是以学生为主体,以实践为主线,重在培养学生的发散性思维,能充分发掘学生内在的潜能。实践证明,这种教学方法极大地激发了学生学习软件的兴趣,学生的实践能力显著提高。
关键词:面向对象程序设计;三位一体;教学方法
“面向对象程序设计”是一门通识类软件课程,比传统的面向过程的编程语言具有更大的灵活性和可维护性,在一些大型项目软件设计中被广泛采用,在软件行业占有举足轻重的地位。本文选用的面向对象编程语言是C++,它是在C语言的基础上发展起来的,占有的市场份额非常之大。众所周知,“面向对象程序设计”是一门实践性很强的课程,需要学生不断地上机实验、调试,才能把课堂知识融会贯通。但是,传统的教学模式存在着诸多弊端,比如,理论教学与实验教学分开进行;学生被动接受知识,学习积极性不高;学生实践动手能力培养不充分等。针对以上问题,本文提出将“三位一体”教学法应用于“面向对象程序设计”的教学中,并对该教学方法的成果与传统教学法进行了比较。结果证实,“三位一体”教学法的运用让学生的学习兴趣被极大地激发出来,实践动手能力也显著提高,在教学中能取得显著的效果。
一、对“面向对象程序设计”课程的传统教学模式的剖析
1.理论教学与实践教学分开进行不利于学生实践动手能力的及时培养
对于“面向对象程序设计”这门课程,传统的教学模式是先进行理论教学,然后再进行上机实验。由于理论教学和实践教学分开进行,这样学生在上机实验时实验内容要滞后于相应的课堂教学内容,学生可能已经记不清教师教学的具体内容,实验教学与理论教学的脱节,导致了学生对实验内容的生疏和陌生感,不利于学生实践动手能力的及时培养。
2.传统实验内容设计不合理,导致学生学习较被动
传统的“面向对象程序设计”实验内容一般是这样设计的:教师根据教材和实际的教学内容设计若干个实验,每个实验都会给出详细的软件代码和调试步骤,学生只需要将这些程序调试通过就可以完成实验。这些实验内容可以让学生对“面向对象程序设计”有一定的了解和认识,但因为实验要求和操作步骤都是固定的,束缚了学生的思维,不利于调动学生的学习主动性,使学生被动完成实验任务,禁锢了学生的思想。
3.缺乏对学生实践成绩的考核制度
传统教学模式对学生理论成绩的考核一般仅限于考试,对学生实践成绩的考核仅限于有没有到课或者有没有上交实验报告,导致学生普遍对实验教学不够重视。然而,“面向对象程序设计”是一门实践性很强的课程,仅用考试成绩来衡量学生对这门课程的掌握显然是远远不够的,而且会导致学生舍本逐末,盲目追求考试成绩而忽视了对这门课的实践应用。
二、“三位一体”教学法在“面向对象程序设计”课程中的实践与应用
新学期笔者在“面向对象程序设计”这门课程上开始实施“三位一体”教学法。
1.以项目为引导,增强学生兴趣,充分调动学生的学习主动性
众所周知,“面向对象程序设计”这门课程是一门应用性很强的课程,在信息管理、工业控制、状态监控等领域有着很广泛的应用,比如学生信息管理系统、电池状态监测系统等,都可以采用面向对象的语言进行开发。如果教师在上课之前,给学生布置简单的项目,例如,通过C++编写一个附件中使用的计算器,并给予学生学习信心,学生只要认真学习,都可以自己设计出个性化的科学计算器,学生会对“面向对象程序设计”这门课程将产生足够大的兴趣,通过对这门课程的学习马上就可以学以致用。同时,学生还会去主动想象“面向对象程序设计”在其他领域的应用,甚至自己独立设计一些其他应用软件。
2.用任务进行驱动,学生自行探究解决方案,提高学生自主学习能力
所谓“任务驱动”,就是学生在学习知识的过程中,在教师的引导和任务的驱动下,通过对学习资源的积极主动应用,进行自主探索和互动协作的学习过程,并在完成既定任务的同时,引导学生产生学习实践活动。
在“面向对象程序设计”这门课程中,对各个章节的教学都是采用任务驱动的方法,例如,针对第4章“类与对象”,笔者在讲解了设计并应用“Clock类”的例子后,就给学生设计了一个大任务——设计并应用一个“Point类”,并将这个大任务划分为若干个小任务:①“Point类”的数据成员的声明;②“Point类”的函数成员的声明;③编写一个main函数,声明一个“Point类”对象,然后显示出该对象的位置。在小任务设置好后,学生三个人一组合作完成这个大任务。这样,学生们从传统的被动接受知识,转变为积极主动地学习,每一个学生都能根据自己对当前问题的理解,利用小组共有的知识和自己特有的经验提出方案,协作解决问题。笔者也并不直接告诉学生应当如何去解决面临的问题,只给学生提供解决该问题的有关线索。学生自行选择从何处获取有关的信息资料,强调学生的自主学习能力。同时,任务驱动能使学生带着真实的问题在探索中学习,而任务是由小组来完成的,提倡小组成员之间进行讨论和交流,这样,通过不同观点的交流,可以加深学生对当前任务的认识,加快问题的解决速度。
3.理论实践教学一体化进行,学以致用及时化
“面向对象程序设计”这门课程是一门实践性很强的课程,只有通过不断地上机实践,才能将课本知识灵活掌握,并实现现实生活中的一些软件需求。因此,要想把这门课程学好,学生必须要有足够的钻研精神。“理论实践一体化”教学模式的一个重大改变就是理论和实践同时在机房进行,教师可以在讲授知识点的同时,让学生在自己的电脑上及时地编程、调试、运行程序,这样学生在上机操作中遇到的问题可以随时反馈到教师那里,教师也可以及时地帮助学生解决问题,问题的解决消除了学生对软件类课程的畏惧感和思想包袱;学生还可以把教师的程序稍加改进,产生自己也能编程序的兴奋感和满足感。
理论知识若不转化为实践,就不会有现实意义,而实践不在理论知识的指导下也会失去方向,因此,理论与实践是相辅相成、相互促进的。在“面向对象程序设计”这门课程上,笔者采取了“教学实践一体化”教学模式,具体的实践过程是这样的:比如针对第6章“对象数组”内容,第一步给学生讲授一般数组的定义与应用,以及讲授数组的概念和定义;第二步给学生设计一个“定义和使用对象数组”的任务;第三步学生三人一组当堂探索解决任务的方法;第四步学生完成自己的任务后马上上交自己的作品;第五步教师对学生的作品进行点评;第六步学生完善自己的作品。“理论实践一体化”教学模式解决了传统教学模式理论实践教学脱节的问题,任务的及时解决卸下了学生的思想包袱,增强了学生的学习兴趣。
三、“三位一体”教学法与传统教学方法教学效果的比较
一般课程的评价体系都是采用的“平时+笔试”的考核方式:即平时的课堂表现、作业上交情况和期末考试的综合考核,但是这种考核比较片面,往往只能考查学生对知识的记忆情况,并不能考查学生对知识的灵活应用和动手操作能力,因此不太适合软件类课程。笔者在传统评价体系的基础上又增加了上机考试这一项,上机考试主要考核5项:①是否能在编译系统里编写一个软件;②软件是否能调试通过;③软件是否能完成特定的功能;④源程序可读性是否好;⑤软件编写是否符合规范。
笔者采用传统教学法对一班35名学生进行了“面向对象程序设计”这门课程的教学,采用“三位一体”教学法对二班33名学生进行了同一门课程的教学,同时,对这两个班的学生的笔试成绩和上机成绩进行了比较,得到的结果如上表所示。
通过上表可知,在笔试情况下,“三位一体”教学法的优秀和良好人数较传统教学法要高,不及格人数也比传统教学法下降了两人;在上机考试情况下, 传统教学法优秀人数仅1人,而不及格人数达到9人,“三位一体”教学法的优秀人数为4人,不及格人数下降为1人。显而易见,“三位一体”教学法不论是在笔试还是在上机考试上,都能大幅提高学生的成绩,极大地提高学生的实践动手能力。
四、结束语
笔者在“面向对象程序设计”这门课程中开展了“三位一体”教学法,受到了广大学生的欢迎,所有学生的学习主动性都被调动起来,学习兴趣大大提高。以项目为向导,用任务进行驱动,理论实践一体化教学实现了“无缝式”的理论实践转化。实践证明,“三位一体”教学法能激发学生的主体能动性,促进学生的思想碰撞,能取得较好的教学效果。
参考文献:
[1]符蕴芳,赵英豪.面向对象程序设计教学改革与实践[J].中国成人教育,2010(11):184—185.
[2]刘 萍.“三位一体”教学模式下网络自主学习能力培养的有效性研究[J].电化教育研究,2013(08):42—46.
[3]冷宝林,夏德强,甘黎明,等.工业分析与检验专业“三位一体”教学模式改革与实践[J].兰州石化职业技术学院学报,2012(04):62—65.
(作者单位:湖北工业大学电气与电子工程学院)