关于“面向对象程序设计”双语课程立体式实践性教学的研究

时间:2022-09-22 04:14:42

关于“面向对象程序设计”双语课程立体式实践性教学的研究

摘要:由于“C++面向对象程序设计” 双语课程本身理解和接受上的困难,极易造成教与学的脱节。分析了该课程的特点和教学现状,阐述了对该课程进行实践教学改革的必要性。结合本校该课程实践教学改革的经验,提出新的实验安排以及改进的立体式实践性教学方式,顺利实现学生由面向过程到面向对象的平稳过渡。

关键词: 面向对象程序设计C++; 双语教学; 立体式实践教学

中图分类号:G642文献标识码:A文章编号:1009-3044(2010)21-5789-02

Research of Solid Practice Teaching on Bilingual course of Object-Oriented Programming

ZHANG Jian-zhong

(School of Electron & Information Engineering, AnHui Institute of Architecture & Industry, Hefei 230022, China)

Abstract: For understanding and accepting bilingual course of “C++ & object-oriented programming” difficultly, Character and teaching actuality of this course are analysed firstly. It also expounds necessary to practice teaching reform of this course. With our practice teaching reform experience in our university, it puts forward new experiment plan and improving on practice teaching method so as to achieve calm transition from process-oriented to object-oriented programming.

Key words: object-oriented programming C++; bilingual teaching; solid practice teaching

面向对象程序设计是一门承上启下的课程, 为计算机科学与技术、计算机网路专业的一门必修课程,该课程的先修课程是《C语言程序设计》、《数据结构》。学生已经初步具备了一定的程序设计能力,然而在多年的教学过程中,笔者发现这样一个问题:学生对C语言有一种“先入为主”的情感,面向对象技术的优点并不是减少了开发时间,相反,初次使用这种技术开发软件,可能比用传统方法所需时间还稍微长一点,我们为什么要舍C而求C++?在项目开发过程中,开发人员必须花很大精力去分析对象是什么,每个对象应该承担什么责任,所有这些对象怎样很好地合作以完成预定的目标。由于学生的实验并不是很大,教学过程中也没能体会团体合作的感觉。一般的教材也很少涉及面向对象和面向过程的实例比较。所以,在有限的时间内,将学生的思想牵引到面向对象上来确实有一定的难度。

1 课程教学现状

双语教学是指对非外语( 主要是指英语, 以下同)专业学生用中文和外语两种语言进行授课的一种新型的教学方法。针对于高校, 双语教学更重要的目的是促进学生第二语言的应用能力,培养能够应用第二语言获取最新学科和专业知识、 参与国际竞争的复合型人才。[2]

通过多年的教学实践和参考其他院校的培养计划,该课程开课学期为第5学期 ,48学时(36理论+12实践)。我校本课程为国家教育部双语教学示范课程,要求学生掌握面向对象程序设计的基本知识和基本技能;锻炼学生的语言能力;培养学生的外语应用技能和习惯。

本课程采用的教材是清华大学出版社出版、Walter Savitch主编的《Problem Solving withC++》Sixth Edition英文改编版教材,(教育部理工科基地双语教学课程建设项目OOP),由于语言的原因,学生在理解和主动性显得不是那么充分,这样又给这门课的学习提高了难度。

该课程是一门应用性比较强的课程,因此在课程安排中设置了12学时的实验,课内实验内容安排如下:

在本课程的教学中,用C++语言讲授面向对象的程序设计思想和方法。教学过程轻语言,重思想,语言只是一个工具,目的要求学生了解面向对象程序设计思想和面向对象软件开发过程,培养学生用面向对象程序设计思想解决问题的能力。

2 实践教学改革

面向对象的开发方法与传统的面向过程的方法有本质不同,这种方法的基本原理是,使用现实世界的概念抽象地思考问题从而自然地解决问题。它强调模拟现实世界中的概念而不强调算法,它鼓励开发者在软件开发的绝大部分过程中都用应用领域的概念去思考。在面向对象的开发方法中,计算机的观点是不重要的,现实世界的模型才是最重要的。面向对象的软件开发过程从始至终都围绕着建立问题领域的对象模型来进行:对问题领域进行自然的分解,确定需要使用的对象和类,建立适当的类等级,在对象之间传递消息实现必要的联系,从而按照人们习惯的思维方式建立起问题领域的模型,模拟客观世界。[1]

2.1 实验教学

本课程使用VC++6.0开发环境。C++语言是在C语言基础上扩充了面向对象机制而形成的一种面向对象程序设计语言。学生有似曾相识燕归来的感觉,因而易于上手。通过本课程的实验,就是让学生运用课堂上学到的概念、方法来解决实际问题,以进一步巩固对教材的理解。实验目的是使学生熟悉VC++6.0开发环境的使用,能用该工具进行C++程序设计、查看源代码、使用帮助。面向对象语言优点体现在程序的重用性和扩充性,特别在程序很复杂、规模庞大,后期程序的升级时,尤为明显。鉴于此我们几次实验可围绕一个课题进行,每次在前期的基础上进行,下次的实验需要用到上次实验的结果,这样一系列的实验做完,学生回过头来想想,就容易理解到面向对象与以前的面向过程的优缺点比较了。

图1为企业人事管理对象模型图。[3]

基于这个课题,可对几次实验内容进行安排:

NO.1 C++ character &VC environment

本实验对Visual C++实验环境的熟悉,也是对以前面向过程的复习,提高学生的自信心和兴趣。需要让学生熟悉编程环境,包括编译、调试、连接和运行等。

NO.2 Basic of class & object

本实验建立公司职员类,该实验是面向对象的入门,需要让学生按类的模式和功能去抽象和构建。

图2为职员类成员组成。

NO.3 Inheritance and class derivation

本实验在前期的基础上做经理类、销售类工人类和销售经理类:

本次实验既有单继承,又有多继承,为了解决继承基类的二义性,还需要设立虚基类,因而设计基类为

class manager:virtual public employee

{};

NO.4 Polymorphism

上一篇:防范ARP攻击 下一篇:绩效考核系统中用户访问权限设计