广东技术师范学院学报(自然科学) !笙 塑 0f Guangdong Polytechnic Normal University No.1,2012 c++面向对象程序设计的实验教学研究 黄柳红 (广东技术师范学院,广东广州510635) 摘 要:C十+面向对象程序设计是工科院校的一门重要基础课,掌握好本课程,对学生今后的专业编程课程有 很大帮助.在该课程的教学过程中采用项目教学法并结合多种实验教学方法,在教学实践中证明这些措施能有效 地提高学生的编程能力,从而提高实验教学质量,增强教学效果. 关键词:C++;面向对象程序设计;实验教学 中图分类号:G 642.423 文献标识码:A 文章编号:1672—402X(2012)01—0070—03 0引言 在C++面向对象程序设计课程教学中.消除初 杂,规则繁多,使用灵活但容易出错,长期以来,C++ 语言被认为是较难学习的编程语言.相比C语言 C+十比较抽象,不易理解.对大二学生来说要熟练掌 握此课程有一定难度. 对于本课程,如果讲授理论内容的课时多,实践 学学生对编程的恐惧心理。提高学生对程序设计的 兴趣和实际编程能力是任课教师追求的目标.目前. 在对该课程的教学研究中.发现多数本科院校还是 少,则教学内容是理论与实践相脱节.学生学习较被 侧重于教学体系、模式和课程建设等方面的研究[1]. 动且难以掌握教学内容.学生对本课程会产生恐惧 对于如何提高学生的实际编程能力和熟练运用C++ 心理.缺乏学习兴趣和动力.如果讲授理论内容的课 进行面向对象的程序设计方面研究不多.本文重点 时少.实践多了。则没法完成教学任务.广技师自动 从实验环节研究如何提高学生编程能力.运用C十+ 化学院针对本课程的特点,采用40(理论)+24(实 语言的综合能力.利用项目教学方法来指导实验教 践)学时的课程教学学时分配.达到了较好的教学 学.最大限度的提高学生的实践动手能力. 效果. 1本课程的特点 C++面向对象程序设计课程.是一门工科院系 2实验教学方法 C++面向对象程序设计的实验教学主要内容有: 的重要基础课程.学生掌握好本课程.对今后的专业 f11至少熟悉和掌握一种可视化的C++开发工具.比 编程课程有着较好的支持作用.广东技术师范学院 如:微软公司的Visual studio C++或C++builder等工 (以下以广技师代)自动化学院针对本专业的特点. 具;(2)C++语言编程基础知识;(3)C++语言中类和对 在大二上学期开设C++面向对象程序设计课程.主 要目的是培养学生使用面向对象的程序设计方法来 进行软件设计,对今后的专业编程课程单片机、PLC 象及相关知识;(4)C++运算符重载;(5)类的继承;(6) 类的多态性._3]而类与对象是对象程序设计的基础. 类的对象化技术主要是封装(Encapsula—tion)、继承 (Inhefitance)、多态(Polymorphism),体现重用 (Reuse).[4]这些是本课程的教学重点和难点,在安排 等课程具有积极作用.“C++语言程序设计”具有较强 的理论性、实践性和创造性,它是在C语言的基础 上发展演变而来的一种面向对象程序设计语言.提 供了面向对象程序设计风格.更接近于目前常用软 件开发平台的软件开发思想.从而成为当今计算机 编程的核心内容.[:]由于C++牵涉到的概念比较复 收稿日期:2012—02—19 实验内容上需重视和占较大比重. 由于C++程序设计课程中实验环节的重要性和 复杂性.为了使学生进一步理解C++语言以及面向 对象的基本概念.掌握教学内容.为今后的专业编程 作者简介:黄柳红(1980一),女,广东兴宁人,在职硕士生,广东技术师范学院自动化学院软件设计师.研究方向:计算机应用 第1期 黄柳红:c++面向对象程序设计的实验教学研究 ・71・ 课程打下坚实的基础。在C++程序设计实验教学环 节中.我们使用了因材施教、重视实验指导过程的实 验教学方法. 2.1因材施教 思辨能力和团队合作能力得到全面的锻炼.[5] 针对学有余力的学生.为了进一步提高他们的 设计能力.教师向他们介绍教学大纲外的UML(统 建模语言)建模工具(UML建模工具与其它面向 对象语言结合使用能够有效地降低软件开发复杂 一为了提高实验教学的效果和质量。广技师自动 化学院根据本专业的特点。结合本课程相关教学知 识点.组织教师自编实验教材,编写的题目实用性较 性 .我们引导有兴趣的学生在课余时间学习UML 建模工具.将UML建模工具跟C++结合起来灵活应 强。实验内容设计针对性强,其中既有验证型实验, 也有设计型实验.适用于不同层次的学生使用.教师 针对学生的个人情况.灵活使用实验教材来安排学 生的实验内容。并引导学生使用教学大纲外的面向 对象工具.逐步加强各层次学生的实际动手能力. (1)验证型实验.该类实验要求学生独立完成, 用.提高学生利用面向对象的思想分析、解决问题的 能力和软件开发的能力. 2.2重视实验指导过程 衡量编写程序能力的一个重要指标就是调试 程序的能力.所以在实验过程中要重视学生上机调 试程序的能力的培养.教师在做实验前要明确指出 程序调试的目的和要求。并认真指导学生进行程序 主要涉及课程的面向对象程序设计的相关知识点. 使学生验证、理解、巩固并掌握课内教学的基本教学 的调试.为了提高上机效率.实验题应提前布置给学 内容.这一层次的实验通常在实验课堂内必须完成. 生。让他们在上机前做好准备、编写好程序初稿,上 而且要求每一个学生独立完成且填写实验报告.该 实验课时只需要调试程序.而不是匆忙编程.这样可 以提高实验效率,并增加调试程序的时间.从而提高 学生的编程能力. 教师在实验教学中回答学生的提问需要掌握方 法.学生在上机做实验时,经常会发生这样的问题: 类实验的目的在于进一步巩固教学内容.初步培养 学生的实际动手能力.熟悉调试环境.但这种实验只 需两到三个就够了. (2)设计型实验.该类实验要求学生独立完成, 实验由教师以任务的形式提出实验要求和具体实验 学生上机时.先把程序全部输入完毕。然后编译运 成果。要求学生能比较综合地利用课程中的几个相 行.编译后就显示出一大堆的错误.学生一看。不知 关知识点开发并完成实验项目.同时提交设计型实 从何下手,于是,马上求助老师.这时,教师不要马上 验报告.该类实验也要求在课堂内完成.旨在培养学 指出学生的程序错误所在.而应该告诉学生编程和 生带着问题自主学习的能力.每个学生的学习能力 调试的方法. 不一样,层次好的学生觉得验证型实验太简单.已掌 握教学内容了.我们就要鼓励这些学生多做这种设 具体常见问题和解决方法如下:排错要从第一 个错误开始.因为很多时候后面的错误都是由前面 计型实验.以提高他们的能力和兴趣. 的错误引起的。前面的错误解决了.后面的错误就少 (3)大作业(课程设计).该类实验主要是让学生 了甚至消失了.另外还要问清楚学生的设计思路.如 练习综合运用C++及面向对象程序设计的知识的能 发现思路不对。先纠正学生的思路.然后再解释出错 力,进而让他们熟悉和掌握使用C++或vC++来开发 实用软件项目的方法和过程.要求学生分组完成(2— 3人/组),实验以项目的形式来做为实验对象。选题 在规定的大范围内.要求学生系统地运用所学的全 部面向对象的知识和将所有前面所做的实验能溶合 到一起.形成一个具有雏形的应用小软件.该类实验 的原因,引导他们解决问题.上机时.不要一次输入 很多内容,而是只输入一小段内容就进行编译,没有 错误后。再编写输入后面的内容.反复调试.直至整 个程序编写调试完成.以上两点要求在头几次实验 时就要反复跟学生强调.如在实验过程中碰到几个 学生都具有通性的问题.则要在课堂上统一讲解这 个问题。以加强学生的理解.同时所有的题目.教师 通常在课程结束前几周布置.要求学生在课堂外完 成所有过程,课堂内可以根据问题和教师进行交流. 在实验前都必须先做一遍,了解容易出错的地方。这 在学期末.要求学生现场演示答辩,教师当场测试验 样在实验指导上才能有的放矢,事半功倍,这虽增加 收大作业报告.该层次的实验重在培养学生运用面 了教师的工作量.但教学效果明显提高. 向对象的知识分析问题和解决问题的能力.激发学 在本课程中,我们要重点突出解题思路和方法. 生的学习研究兴趣,使学生的分析能力、创造能力、 让学生觉得通过努力是可以自己编程序并调试成 ・72・ 黄柳红:c++面向对象程序设计的实验教学研究 第1期 功.学生在这一过程中既进行了思考、设计,还培养 学模式,但要真正有效地运用这种教学方法,必须经 了分析问题和解决问题的能力,又有成就感,这样他 过教师和学生的共同努力,相互配合,才能最大程度 们就有兴趣和信心学好本课程.这对今后的专业编 地发挥这种教学方法的作用.达到理想的教学效果. 程课学习就更有信心了. 参考文献: 3结束语 通过一学期的教学实践.学生的学习自主性和 积极性提高了,并在分析问题、协作意识、设计和测 试能力等方面都得到了锻炼和提高.教学质量和教 学效果明显提高.该实验教学法在广技师自动化学 院已做了30多个教学班,共6oo多学时,从历年大 [1]宋海玉,李锡祚,王玲芬,等.面向对象程序设计课程建设 的探索与实践[J].计算机教育,2009,(5):91—94. [2]肖明.案例教学法在“C++语言程序设计”教学中的应用 [J].计算机教育,2010,(6):84-86. 『31彭召意等.C++面向对象程序设计课程的实践教学研究 [J].计算机教育,2010,(5):151—154. [4]杨谊.C++面向对象程序设计课堂教学方法探索[J].南 方医学教育,2010,f21:24—25. [5]杨勇等.“面向对象程序设计C++”课程教学与实践改革探 量学生实验情况来看该实验教学法的实用性较强. 充分利用实验环节.结合项目教学法在实验教学过 程中取得不错的效果.由此可见.这是一个成功的教 讨[J].职业时空,2009,(5):98—99. Experiment Teaching Research on C++Object-oriented Programming Huang Liuhong (Guangdong Polytechnic Normal University,Guangzhou 510635) Abstract:C++Object—Oriented Programming Design.which is an important core curriculum for colleges of technology,is of great help for the students future professional programming courses after they master this programming language.In the teaching process,by using he prtoject teaching method togather with various kinds of teachingmethods,the students programming ability can be improved.Thus,the quali ̄of experiment teaching as well as teaching effectiveness can be guaranteed. Key words:C++;object-oriented program design;experimental teaching