王艳
摘 要: 文章针对目前我院面向对象程序设计课程教学中存在的问题,根据我院学生的特点和实情,从教学目标的改革出发,提出了一种案例贯穿教学模式,并详细设计了该教学模式的各个环节,将该教学模式应用于实际的教学过程中,取得了良好效果。
关键词: 面向对象程序设计 教学内容 教学模式 学生兴趣
面向对象程序设计课程是我院计算机科学与技术专业、信息与计算科学专业和信息管理与信息系统专业的必修课程,它主要介绍的是利用面向对象的思维进行编程,是C#程序设计、ASP.NET程序设计及UML设计模式,软件工程等课程的前导课程。目前我院开设的面向对象程序设计课程是在C++语言的基础上开设的,是后续课程语言的前身,所以学好了C++语言中的面向对象思维,对后续课程的学习将会事半功倍。
面向对象程序设计具有抽象、封装、继承与多态的特点,比传统的结构化程序设计具有更高的可重用性、易扩充性和易维护性[1]。目前已作为大中型应用软件开发的主流方法,由于该课程所涉及的概念繁多,语法规则多,语句结构相对复杂,导致学生在学习初无法理解该课程中的基本概念,例如,对象和通过对象如何调用方法等,所以很多学生在学习时常感到很迷茫,教学效果较差,学生学完这门课后无法看懂基本的程序,更别提用面向对象思维编程,学生普遍反应不好学,课程内容和教学方法均不能提高学生的学习兴趣,教学难度持续提升。笔者在结合多年的教学实践的基础上,为了改变现状,先分析目前该课程教学过程中的主要问题,了解产生的原因,提出提高该课程教学质量的案例贯穿式教学模式,并将该教学模式应用于实际教学过程中,证明该教学模式能够激发学生的兴趣,调用学生的主动性,培养出学生读程序和写程序的能力,从而达到良好的教学效果。
1.课程教学的过程中存在的主要问题
三本的学生普遍基础较差,自觉性较低,自主学习能力较弱,很少能自发地对学习产生兴趣,求知欲望普遍较低,基于C++的面向对象程序设计的课程内容多,语法多,应用程序框架复杂,案例较少,教学课时偏少,需要学生理解记忆的地方多,学生理解能力较弱,所有这些因素导致该课程的教学效果普遍不明显。
在实际的课堂理论教学过程中,教师为了把书中的重点内容都讲完,大多采用“填鸭式”教学法,教学内容过于抽象乏味,师生互动交流过少,导致学生无兴趣跟着老师的思路走。该课程的编程思路源于生活,学生跟不上教师上课的进度也就无法掌握编程的思维。该课程的教材过多侧重语法知识点的介绍,虽然每个大章节有一个综合案例介绍,但是由于学生无法及时掌握各个语法,更难将所有内容应用到综合案例中,算法设计教学无法开展,导致无法看懂综合案例。
该课程的实验课内容多以验证性为主,由于实验时间和地点的限制,加上学生在课程中对相关语法知识点掌握得不扎实,教师同时指导的学生过多,无法及时解决每个学生碰到的问题,学生厌学,干脆不做现象严重,甚至出现旷课现象,最终造成学生的编程能力无法得到练习和提升。
受应试教育限制,该课程考核方式为闭卷笔试,侧重于理论知识的考核,无法有效考核和培养学生的综合编程能力。闭卷笔试具有学生为应付考试考前突击,临时抱佛脚,高分低能的缺陷;程序分析题批改主观性大,即使程序结果错误也可根据步骤给部分分数,达不到考核编程能力的目的;程序设计题在平时做过的实验课编程题中出,达不到考核编程能力的目的。
2.新教学模式设计
现在,国内高校都认识到培养学生应用能力的重要性[2,3]。本文提出了一个案例贯穿教学模式让学生积极加入课堂教学过程中,不断激发他们的学习兴趣,主动地参与理论和实验教学。该教学模式设计包括该课程的教学目标和要求设计及教学阶段、教学内容、教学方法、教学手段等的详细设计。
2.1教学目标和要求设计
2.1.1教学目标
根据我院的人才培养方案的培养方向和特点,该课程的教学目标应以培养适应社会需求的高素质应用型人才为出发点,教学内容翔实、教学方式多样,要激发学生的学习兴趣,要求学生掌握本门课程的基本理论的同时,掌握利用面向对象思维编程的方法,提高学生的编程能力和实践应用能力,保证教学质量和培养人才质量。
2.1.2教学要求
在教学中,要以学生为主体,通过教师设定问题,设定课程小练习,与学生的互动交流,引导学生发挥主动性展示自己,杜绝上课睡觉,跟不上教师的思路现象,提高学习热情,从而提高三本学生的学习自觉性,让其乐于探索出自己的方法和思路自主学习,提高编程能力。
教师在上课中使用平时收集的贴近实际应用的教学案例,理论课引导三本学生利用所学语法分析案例,最终能读懂案例程序。实验课引导三本学生分析清楚编程的思路和步骤,在脑中建立一个立体的编程思路,最终编写出实验案例程序。案例教学目的在于激发学生的学习兴趣,开阔学生的眼界,提高学生的应用能力。
组织教学中着重培养学生的团队合作能力,实验课除了进行案例的编程练习外,最后一次课编程题目为中型案例。根据一定的策略给学生分组,使小组成员通过交流、讨论、协作最终完成任务,每个小组成员完成一个类的编程,组长编写主程序使用已经编好的类,最终完成中型案例程序设计;并让小组组长讲解自己的程序运行思路,让学生学会在团体合作中完成中型案例的方法。
教师在整个教学过程中充分发挥引导作用,在上课时候要能够客观、公平地对学生回答的问题和编好的程序进行合理评价,多联系已学语法规则和知识点进行分析,给予学生肯定支持,让学生自信自主地不断尝试。
2.2教学阶段设计
根据这些教学目标和要求把本课程教学分为三个阶段:第一阶段,教师讲解课本中的每个章节,分析该语言程序设计的基本思想与方法,期间设定各种问题引导学生思考,加深对概念和语法规则的理解;第二阶段,教师在每次课的末尾都让学生在课堂上完成相应的选择题目,点学生回答,让学生当场就能够将相关的基本概念和语法规则都加深掌握。第三阶段,教师深入讲解面向对象的程序设计方法,设计特点,面向对象的核心思想,结合案例教学和启发式教学,让学生深刻理解面向对象程序设计的设计思想,设计方法;实验课上布置案例编程题目,案例从小到大,编程之前教会利用软件单步调试程序的方法,让他们学会用软件分析已有程序运行过程,最终掌握C++各种案例的编程。
2.3教学内容设计
因为该教学模式的第一个阶段为教师讲解课本章节为主,设计问题为辅,学生思考问题为主,所以在教学的初期和中期,应该及时地分析上课班级学生的特点,按照学生的认知规律采用从整体到局部的认识方式组织教学内容。在针对每个章节新的知识点的讲解中,首先通过贴近生活的案例程序使学生对该章节所学知识点建立较完整的认知网,然后将案例程序各部分的程序模块分解对应到各具体的知识结构语法规则中,进而使学生对各章节相应内容的面向对象思维建立宏观概念,深刻具体目标印象,再逐步细化,最终掌握各相关知识点的语法规则。该学习法能够较好地让初学者扎实掌握该门课程各类基础知识。在教学的后期,要求学生在充分理解和掌握所学的知识内容的语法规则后按照自己的理解进行归纳、总结,利用所掌握的知识点和语法规则解决类似问题,在大脑中建立整本书中C++面向对象思维的语法规则以达到知识点的融会贯通来读程序甚至能够编写出较复杂程序的目的,从而提高应用能力。
2.4学生学习兴趣激发方法设计
在教学中,要想获得良好的教学效果,就必须激发学生主动学习的兴趣,组织教学中要做到几方面。首先,要上好本课程的第一堂课,在第一堂课中要让学生明白这门课程的重要性,即这门课程要学习的内容是什么,应该如何学这三个方面的具体内容,多举些利用C++面向对象程序设计的案例,比如:学生信息管理系统,诊所信息管理系统等,让他们认识到这门课的内容学习是很有用的,也是很有趣的,并且是计算机对现实的问题的解决最常用的编程思维。其次,在后面的学习中,要重视寻求方法巩固学生对这门课的学习兴趣,随着教学内容的深入,要学习的知识点逐渐难以理解并且枯燥,在教授这些知识点时应利用贴近生活的经典案例讲解这些知识点,让学生掌握其中要遵循的语法规则,并降低这些案例难度作为实验课的编程题目,激发学生的编程兴趣;同时建立题库,采取每个章节完毕后,让学生做相应的选择题,点学生回答,通过让学生认真做题加深每次教学要掌握的知识和相应的语法规则的应用。最后,利用本课程最后一次课,给学生讲解一个实际生活中的综合应用系统,让他们知道所学的所有知识点及语法规则是如何实现这个较复杂的系统的,最终达到所学知识融会贯通的目的。
2.5教学方法设计
由于教学大纲内容的要求和课时的限制,不少教师采用“满堂灌”的教学方法[4],在教学中教师是主角,学生被动地听,这种教学方法无法激发学生学习兴趣,将自己的思路融入教师的讲授过程中,产生个人见解和对所学有深刻印象。在教学过程中,教师应该只是一个引导、组织、介绍的辅助角色,学生才真正是教学过程的主角。在该门课的教学中,通过在课上设置一些小问题,通过不断提问让学生真正融入课程教学中去,调动学生积极思考问题,发表自己的见解,提出自己的疑问,并且进行讨论,让学生在课堂上真正达到学习目的,而不单单是教师的个人秀。同时,教师要适当布置作业,及时批改,及时讲评,对学生进行正确的评价和总结,对学生的思路和看法给予肯定,从而让学生做完作业的同时,具有更多自信,就会让学生更想学这门课。
2.6教学手段设计
该门课程的理论教学采用多媒体教学方式,达到课堂信息量大,内容直观形象,从而激发学生的学习兴趣的目的。同时,也要注重利用网络资源,教师除了要在课内解决学生的疑问外,还可以加入学生的班级群中或通过QQ及电子邮件来和学生课后业余时间加强沟通,通过群邮件给班级学生发送教学资料,比如教案PPT、作业讲评PPT、实验源代码,等等。
2.7课程评价设计
课程评价是该教学模式很重要的部分,好的评价方式能够及时发现学生学习这门课程的学习效果,也能够及时总结本学期课程的上课优缺点,有利于教师进行教学反思不断调整教学模式。该门课程具有很强的应用性,以往的课程评价只有笔试成绩评价,达不到全面评价学生的学习效果,故应将该门课程的评价分成三个方面:平时课程表现、实验课表现和知识综合应用表现。综合三个方面评价结果得出一个能够反映学生程序设计知识和语法规则掌握好坏及程序设计应用能力的分数评价体系。
3.新教学模式的特点
通过在课程教学中设定一系列问题和题库让学生思考,再抽学生回答,激发他们学习该门课程的兴趣和求职欲望,培养他们独立思考的能力,积极完成学习任务,能较快扎实地掌握面向对象程序设计的各种知识及大量语法规则,提高三本学生的自主学习能力。
作为一门实践性很强的课程,结合实际的典型案例教学不断激发学生学习兴趣,实验课教学合理设计实验内容,编程题目从简单到复杂,并对应各章节相应知识点,让学生逐步巩固他们的知识体系与语法规则;学生可以互相交流心得和交流编程技巧,小组合作中培养学生的团队精神和协同解决问题的能力,让学生真正做到学以致用。
在教学的整个过程中采取的授课方式是由教师在讲授内容的同时积极引导学生自主学习,有助于提高学生的编程能力,可以取得以往填鸭式教学远不可及的效果。
4.结语
根据三本学生的认知规律,以培养学生的自主学习能力为主,重在激发学生的学习兴趣,让学生自主的理解各个案例,及时巩固当堂课程的知识点及语法规则,使学生在认识到该课程的重要性的同时能够懂得如何学习,明确学习目标,掌握基本的编程方法和技巧,提高协作能力及程序应用能力。经过一个学期教学的实践,这种教学模式大大改善了教学效果,考试通过率和学生的编程能力得到了极大提高。今后,我还会不断探索和思考本课程更有效的教学模式,该教学模式以持续提高学生的应用能力为目的,让该课程知识和后续课程知识高效融合。
参考文献:
[1]赵俊平.面向对象程序设计教学方法浅析[J].科技信息,2009(20):188-189.
[2]张丽华.面向对象程序设计教学方法研究[J].嘉兴学院学报,2005(3):45-47.
[3]吴粉侠,段群,李红.《面向对象程序设计》课程教学模式的探索和研究[J].福建电脑,2009(8):36-37.
[4]唐永红龚安.对C++程序设计教学模式的探索[J].职业教育研究,2008(11):104-105.