“面向对象程序设计C++”课程教学与实践改革探讨

时间:2022-11-04 12:05:03 来源:网友投稿

摘要:“面向对象程序设计C++”课程在高等院校计算机及其相关专业教学体系中具有十分重要的地位。针对该课程在教学和实践中存在的问题,结合多年的教学经验,从教学内容、教学方法以及实践教学等方面进行了改革和探讨,以期能更好地实现本课程的教学目标,提高教学效果。

关键词:面向对象程序设计;教学改革;实践教学

在现今的中国高等教育中,计算机课程和外语课程并称为高等院校中的两大基础课程,也是目前唯一设有全国统一等级考试制度的两门课程。在计算机课程中,“面向对象程序设计C++”(简称C++程序设计)语言以其高效而又实用的特性——既可以进行过程化程序设计,又可进行面向对象的程序设计,因此逐步成为各高校程序设计课程中的主流。该课程作为计算机科学与技术及其相关专业的必修基础课程,既是进行软件开发的直接工具,又是后续课程如“Java程序设计”、“软件工程”、“数据结构”等课程的先修课程,因此,在整个教学体系中占据十分重要的地位。本文根据笔者多年的教学经验和教学中发现的问题,从教学内容、教学方法、教学实践等几个方面进行了探讨,以期进一步提高本课程的教学效果和教学质量。

一、存在的主要问题

1.“面向对象程序设计C++”课程是让学生在掌握面向过程的程序设计基础上以面向对象程序设计方法为教学目标。该课程目前在国内大部分高校中采用的教学模式为:“C程序设计”+“C++程序设计”+“Java程序设计”。以江西财经大学为例:一般是在大学第二学期学习“C程序设计”,然后在第三学期学习“C++程序设计”。由于C语言是前期刚刚开设的教学课程,再加上C++本身又是从面向过程的C语言上发展而来的,因此学生非常容易受C语言的面向过程的思想束缚,对于面向对象程序设计的概念理解总是不够深入,停留在表面上,不能很好地理解面向对象的内涵。

2.多媒体教学存在的问题。目前,几乎所有的高校中的C++程序设计课程都采用了PPT投影方式的多媒体教学方式,这种教学方式能促进学生的感性认识,同时也能加大教学信息量、保证教学进度。但是,采用这种多媒体的教学方式学生会随着时间逐渐失去新鲜感。另外,由于取代了传统的黑板板书方式进行教学,使得教师的即兴发挥以及与学生的交互受到限制。通常由于教学课件已经准备好,教师在课程教学中基本上采用常规的顺序式、灌输式的教学方法,在教学过程中与学生之间难以形成互动,因而大大降低了学生学习的积极性和主动性。再加上C++程序设计语言本身又是一门比较抽象、难以理解的语言,采用这种传统的教学方式还会使学生因为觉得难以理解而逐渐丧失学习的兴趣。

3.C++程序设计是一门实践很强的课程,要求课堂教学和实验教学紧密结合。通过同步上机实验,使学生深入领会C++语言的功能和作用,理解程序的编译、运行机理,加深对C++语言面向对象本质的认识。通过实验教学,帮助学生理解和消化课堂教学内容,培养自主学习的能力,加强实践能力,使学生具备较好的程序设计能力和解决问题的能力,并积累一定的实践经验,为今后在专业领域中用计算机解决问题打下扎实基础。但是,在实际中我们发现由于有先入为主的原因,虽然大多数学生通过教学已经知道了面向对象编程的优越性,但是在解答作业和解决实际问题时还是存在少数学生无从下手、部分学生习惯了应用结构化编程的思想,不会自觉地应用面向对象的方法分析和解决问题等。归结到一点,就是学生缺少理论联系实际的能力,实践动手能力较差。

二、教学与实践改革的具体措施

1.教学内容改革。由于C++语言中的基础知识大部分都来自其前导课程C语言,如数据类型、表达式和语句、数组和结构等。为此,在C++程序设计课程中我们将不再重复与C程序设计课程中相同的知识,从而避免学生再次受到C语言结构化编程模式的影响。因而在教学内容上,我们一方面对教学内容加以精选,突出面向对象程序设计的关键技术,突出C++语言中的实用技术,包括类、对象、封装、继承、多态和模版,突出算法而不是语法;另一方面借助一些参考书目积极引入本课程的最新技术和成果(新概念、新技术、新方法),将这些内容重新组合成三个模块:基础要求模块、选学模块、选修模块,从而形成新的课程体系深化面向对象的核心思想。通过这种教学内容的改革,使学生真正掌握面向对象程序设计的本质,使学生的思维模式逐步从先前的面向过程的程序设计方式转向面向对象的程序设计方式上来。

2.教学方法改革。针对上述C++程序设计课程中传统的教学方法存在的问题和局限,结合C++语言的高度抽象性的特点,我们在采用多媒体教学的同时在课堂中重点加强了以下两种方式的教学。

(1)启发式教学。由于C++程序设计是一门逻辑性强、知识内在联系紧密的课程,通过该教学方法能改变传统的一讲到底的讲授方法,讲到一定程度教师便提出一些思考性和概念性都很强的问题,让学生自己学会分析、研究和讨论,引导学生得出正确的结论,充分发挥了教师和学生的双主体地位。通过这种方式的教学,学生在接受程序设计中的新知识时将会更加自然、主动。

(2)案例式教学。由于C++程序设计中牵涉到较多的语法和算法,如果过重地去讲解这些知识点,学生反而会感到枯燥、乏味、不知所云。为此,在每一个比较重要或者难以理解的知识点处要选择合适的案例辅以教学。案例的选择不能仅局限于数学性质的问题,还可以是游戏程序、图形、图像程序或者是自然界中的一些真实现象的模拟。这种教学方法有助于培养学生的思维能力,能够从本质上掌握程序设计的思想和设计方法。而且,成功的案例演示既能激发学生的兴趣,又能调动学习本课程的积极性和主动性。

3.实践教学改革。由于C++程序设计课程中实践环节的重要性和复杂性,在C++实验教学环节的改革中,我们针对学生的实际情况构建出了三种不同层次的实验课程体系,以逐步加强学生的实际动手能力。

(1)验证型实验。该类实验要求学生独立完成,主要涉及课程的面向对象程序设计的相关知识点,使学生验证、理解、巩固并掌握课内教学的基本教学内容。这一层次的实验通常在实验课堂内必须完成,而且要求每一个学生独立完成且填写实验报告。该类实验的目的在于进一步巩固教学内容,初步培养学生的实际动手能力,避免学生只听不练。

(2)设计型实验。该类实验要求学生独立完成,也可分组完成(限2人),实验由教师以任务的形式提出实验要求和具体实验成果,要求学生能比较综合地利用课程中的几个相关知识点开发并完成实验项目同时提交设计型实验报告。该类实验也要求在课堂内完成,旨在培养学生带着问题自主学习的能力,并培养学生利用面向对象的思想分析和解决问题的能力。学生在整个实验中学习目的非常明确,学习的积极性得到充分调动,动手能力进一步加强。

(5)大作业。该类实验要求学生分组完成(3-4人/组),实验以现实的问题或逼真现实的问题为实验对象,只有具体实验要求而没有最终的结果,采用完全开放、自由选题的形式,要求学生系统地运用所学的全部面向对象的知识来解决实际问题,最终要求学生现场演示答辩,教师当场测试验收每个作业包括大作业报告。该类实验通常在课程结束前1-1.5个月布置,要求学生在课堂外完成所有过程,课堂内可以根据问题和教师进行交流。该层次的实验重在培养学生的研究能力和创新意识,锻炼学生运用面向对象的知识分析问题和解决问题的能力,激发学生的学习研究兴趣,使学生的分析能力、创造能力、思辨能力和团队合作能力得到全面的锻炼。

此外,为了保证每一个学生都真正参加到实践环节中和实验必须达到预期的效果,对课程的最后考核成绩方式也进行了改革,最终的总评成绩构成为:笔试成绩(60%)+验证型实验、设计型实验及平时考核(20%)+大作业(20%)。通过该考核方式的改革,进一步引导和督促学生重视实践环节。

“面向对象程序设计C++”是计算机及其相关专业学生必修的一门专业基础课程,在整个专业的教学体系中具有十分重要的地位和作用。本文以此课程为切入点,以作者在教学和实践中发现的问题和得到的启发为契机,结合课程的特点和教学目标,在教学内容、教学方法和实践教学等方面进行了探索,并且在实际教学中取得了较好的效果。

推荐访问:程序设计 面向对象 课程教学 探讨 实践