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

2015-08-15 00:54
科技视界 2015年13期
关键词:面向对象信息工程C语言

陈 彬

(武汉科技大学信息科学与工程学院,湖北 武汉430081)

0 引言

面向对象是一种非常重要的软件设计方法,是计算机领域对现实世界进行分析和抽象的有效方法,是计算机软件设计发展到一定阶段的必然产物。随着软件规模的日益增加,面向对象程序设计相对与传统的面向过程的程序设计方法有易于维护、重用性好、开发效率高以及易扩展等优点。C++是在C语言基础上衍生出的一种高级编程语言,C++不仅支持面向对象编程且完全兼容C语言,因此“C++面向对象程序设计”课程在电子信息工程专业的本科教学阶段发挥着重要的作用。

1 教学现状及分析

1.1 教学对象及课程设置

作者长期从事电子信息工程专业计算机类课程的教学工作,本节以我校(武汉科技大学)电子信息工程专业为例说明本课程的基本情况。

“C++面向对象程序设计”作为电子信息工程专业的选修课程,总课时为48学时,其中课堂教学为40学时,实践课时为8学时。“C++面向对象程序设计”课程安排在本科阶段的第六学期,此时电子信息工程专业学生已完成了“计算机应用基础”、“C语言程序设计”以及“数据结构”等先修课程的学习,且“微机原理及应用”等专业课程也以C语言作为其主要设计语言,同时考虑本课程是一门非限选课,故而选修该课程的学生在学习本课程时已具备相当的C语言基础,面向过程的程序设计方法也较为熟悉。

1.2 存在的问题

在实际教学过程中,“C++面向对象程序设计”的课程教学往往存在以下几个问题:

第一,教师在教学过程中往往将重点放在了“C++”上,重点讲解“C++”的语法及使用方法,把本课程当成了一门纯粹的计算机语言类课程来教学,忽略了“面向对象”这一关键问题的讲解。

第二,理论教学与实践教学比例失调,过分注重概念及知识点的传授而忽略了实践环节,从而导致学生虽然能较好地应付试卷的考查,但设计程序、编写程序以及调试程序的动手能力较差。

第三,考核环节多以试卷考查为主,对实践考查不够重视,不利于引导学生自发培养其综合应用能力。

2 理论与实践教学改革

2.1 课堂教学改革探索

2.1.1 突出面向对象目标

在学习“C++面向对象程序设计”课程之前,学生已经完成了“C语言程序设计”的学习,而C++语言延续了C语言的主要语法特性,两者的语法差异不大,因此将“C++面向对象程序设计”课程当成一门纯粹的C++语言教学的课程来讲授,而忽略了培养学生面向对象的程序设计思想,显然是舍本逐末。故而,在本课程教学过程中,教师应贯彻以“面向对象”为主导,注重对比学生熟悉的面向过程的程序设计方法说明面向对象特性,如封装性、继承性和多态性等的应用背景,原理及其优点等;而后介绍如何利用C++加以实现这些特性,期间对新概念,新语法做简要的介绍,如此才能培养学生面向对象的思维方式,体现本课程的教学目的。

2.1.2 多种教学方式相结合

“C++面向对象程序设计”是一门实用性很强的工程性课程,本课程的每个知识点都有其提出的应用背景。因此在课堂教学过程中,教师需转变传统单向、平铺直叙、灌输式的教学方法,进而利用启发式教学方法,引导学生思考、理解所学知识,主动探索解决问题的方法,培养其分析问题、解决问题的能力,将教师从知识传授者转变为科学发现过程中的引导者[1]。

此外,在平时教学中应引导、鼓励学生查阅资料或通过网络收集、学习知识。C++作为一种主流面向对象设计语言,网络上众多资深软件设计人员总结、归纳了丰富的经验和各种解决实际问题的方法,这些经验、方法对于初学本课程的学生加深对知识点的理解、提高其综合素质裨益匪浅。

2.1.3 多种教学手段向结合

多媒体教学方法是目前广泛应用的教学手段之一,一方面可以减少教师板书时间,提高教学效率,另一方面其直观性亦得到广大学生的认可。为更直观地展示、说明课程内容,激发学生的学习兴趣,多媒体课件中应减少文字性描述,取而代之的是图表及动画等多种可视化元素。实践表明,可视化呈现方式比枯燥的文字表述方式更为直接,生动,更能吸引学生的注意力,教学效果更好。

在讲授基本原理、方法的同时,教师也应该多使用现场编程、现场调试以及现场运行的实际演示方法对重要知识点进行验证。一方面可以带领学生完成验证性实验的工作,另一方面可面对面的传授学生编写程序以及调试程序的方法和技巧,为学生在实践教学环节中的学习奠定基础。

2.2 实践教学改革探索

面向对象程序设计是针对开发较大规模的程序而提出来的,目的是提高软件开发效率[2]。正因如此,学生只有具备相当丰富的实践经验才能深入理解面向对象对象程序设计思想,理解C++语言各项设定的应用背景以及C语言的不足和C++的优点。

C++面向对象程序设计课程的实践教学包含四个实验,共八个学时,这显然是不够的,为了进一步加强实践教学环节,提高学生面向对象编程能力,可从以下两个方面对时间教学进行了改革:

首先,充分利用计划实验课时安排一些精心设计的小型设计性实验,为学生体会面向对象程序设计方法创造更多的机会。而验证性实验主要依靠教师在课堂上通过实际演示来加以说明,同时将一些较为重要的验证性实验布置为课后作业,再利用课堂讨论的方式加深学生对基础知识的了解。

其次,为了给学生创造更多的实践机会,在教学过程中可布置一些综合性软件开发课题,鼓励学生以分组的形式在课后进行讨论、设计和分工协作利用一段较长的时间加以实现,并组织课堂讨论,一方面汇报开发进度和经验总结,另一方面也可与其它小组同学进行交流。

3 考核方式改革

在对课堂教学和实践教学进行改革的同时,有必要对“C++面向对象程序设计”课程的考核方式进行改革。大学计算机教育应是以计算机应用能力培养为核心的教育[4],因此本课程考核方式上的改革的重点在于改变传统的试卷考核方式,推广以实践为主的考核方式。受到传统试卷考核形式的制约,试卷考核往往突出考查学生对基本知识点和语法的掌握情况,从而无法突出提高学生面向对象程序设计能力的教学主旨。在实际教学中,可以利用实验和综合性课程设计两种形式考查学生的综合素质,既可考查学生对C++基本语法的掌握情况又可考查学生利用面向对象进行程序设计的能力,一举两得。至于验收方式则可采用程序验收、汇报演讲和文档报告相结合的方式综合考查学生软件设计能力。

4 结束

本文从理论教学、实践教学以及考核方式三个方面对“C++面向对象程序设计”课程的教学改革进行了探索,并在电子信息工程专业该课程的教学工作中加以实践,效果良好。为了进一步提高该课程的教学质量,提升电信专业学生利用C++进行面向对象程序设计的能力,我们将继续对教学的各个环节进行探索和改革,以期获得更大的进步。

[1]邢长友,陈鸣,许博,等.面向创新人才培养的计算机网络教学改革[J].计算机教育,2013(1):49-52.

[2]谭浩强.C++面向对象程序设计[M].2版.清华大学出版社,2014,7.

猜你喜欢
面向对象信息工程C语言
江苏高速公路信息工程有限公司
基于Visual Studio Code的C语言程序设计实践教学探索
信息工程技术的应用与发展
面向对象的计算机网络设计软件系统的开发
基于C语言的计算机软件编程
计算机网络在电子信息工程中的应用
面向对象的数据交换协议研究与应用
高职高专院校C语言程序设计教学改革探索
面向对象Web开发编程语言的的评估方法
论子函数在C语言数据格式输出中的应用