项目教学法在《面向对象程序设计》实践教学环节中的应用

2011-10-28 00:58
湖北开放大学学报 2011年1期
关键词:面向对象教学大纲程序设计

王 琼

(十堰广播电视大学,湖北 十堰 442000)

项目教学法在《面向对象程序设计》实践教学环节中的应用

王 琼

(十堰广播电视大学,湖北 十堰 442000)

本文在分析了目前社会上主流软件开发工具Visual C++没有引起学员重视的基础上,提出在完成教学大纲中规定的实验内容之外,补充安排一些基于项目的实践教学活动,培养学员使用Visual C++开发软件的兴趣,使学员初步具有利用Visual C++开发实用软件的经验和能力。

实践教学;Visual C++;项目;项目教学法

1.引言

毕业设计是电大工科专业实践教学十分重要的组成部分,在毕业设计过程中,学员利用所学的基础知识和基本技能,结合实际应用中的某一选题来进行分析、研究和解决问题,最终撰写总结性报告,即毕业论文,是提高学员综合素质,为毕业后从事科学研究和技术开发工作打下良好基础的一次全面训练。

按照中央电大的要求,《C语言程序设计》、《数据结构》、《Visual Basic程序设计》,《面向对象程序设计》都为必开课。从课程设置上看,学员采用Visual Basic作为开发工具确实是将所学知识与实践相结合,但是从课程的实践环节来看,《C语言程序设计》、《面向对象程序设计》、《数据结构》所使用程序设计平台都是Visual C++,但是学员的毕业设计中鲜有用Visual C++作为开发工具的。从长远的角度来看,现在计算机系统的支撑软件多数都是按照面向对象的思想和C++语言开发的,掌握利用Visual C++开发系统的方法更有利于学员今后的发展。

2.计算机专业课程实践教学环节比较

下表围绕中央广播电视大学电大在线所提供的各类教学资源,从课程的任务与目的、实验内容、程序类型等角度对计算机科学与技术专业的《C语言程序设计》、《数据结构》、《面向对象程序设计》、《Visual Basic程序设计》四门专业课程进行了比较。

《C语言程序设计》《面向对象程序设计》 《数据结构》 《Visual Basic程序设计》任务与目的主要任务是介绍C语言中的数据类型、数据表示、运算规则、语句定义、函数调用、程序结构、文件使用、编程方法等内容。目的是使学员能够利用一种计算机程序设计语言编写出解决较简单的数值计算和数据处理问题的程序。主要介绍面向对象程序设计的方法和C++语言的基本概念。以C++语言中的面向对象机制为主。学习者在学习过程中可以通过大量的程序实例和相关练习,逐步掌握C++的面向过程和面向对象的功能,从而掌握面向对象程序设计的基本知识和基本技能。主要任务是介绍集合、线性表、树、图等常用数据结构的特点,顺序、链接、散列、索引等常用存储结构的概念,插入、删除、更新、查找、排序、遍历等常用运算的方法和算法。目的使学员通过该课程的学习,具有进行较复杂的基本程序设计和算法设计的能力。通过本课程的学习,使学员掌握可视化程序设计方法和VB程序设计的编程技巧,具备用VB语言进行系统开发的初步能力。

实验内容侧重于语法与知识点的讲解,所提供的案例多、小、相互没有联系,多为练习语法而设计。侧重于语法与知识点的讲解,所提供的案例多、小、相互没有联系,多为练习语法而设计。侧重于理论与算法设计的讲解,所提供的程序都是与特定的理论知识相对应。采用“任务驱动”的教学方法,围绕应用程序开发展开教学内容。实验内容也为开发Windows应用程序。程序类型在 Visual C++中创建的是Win32控制台应用程序。在 Visual C++中创建的是Win32控制台应用程序。在Visual C++中创建的是Win32控制台应用程序。在Visual Basic中创建的是Windows应用程序。

从上表可以很清楚地看出《C语言程序设计》、《数据结构》、《面向对象程序设计》三门课程采用的教学方法是“学中用”,先学习基本理论知识,再针对理论知识设计案例,这种教学方法的优点在于可以使学员系统掌握理论知识,缺点在于学员解决实际问题的能力较差;《Visual Basic程序设计》采用的教学方法是“用中学”, 以程序设计为主题,以用为本,将理论知识融于程序设计当中,不局限于VB语言本身,重点培养的是学员用VB语言进行应用系统开发的能力。

从上表还可以看出,《Visual Basic程序设计》中开发的都是Windows应用程序,程序运行为窗体界面,符合我们现在使用软件的习惯;而《C语言程序设计》、《数据结构》、《面向对象程序设计》三门课程中编写的程序都是控制台应用程序,程序运行为DOS界面,不适用于目前所开发的系统。

通过分析,我们可以初步总结出学员不青睐于使用Visual C++作为开发工具的原因,一是在教学过程中没有锻炼学员解决实际问题的能力,二是我们在学习中利用Visual C++开发的程序界面不适合现在对于软件的需求,学员要利用Visual C++开发Windows应用程序,还必须在课后专门自学Visual C++程序设计的相关教程。

3.项目教学法在《面向对象程序设计》实践教学环节中的应用

3.1 教材中提供的实验内容的局限性及解决办法

《面向对象程序设计》课程结合C++语言的语法、重要知识点共安排了12次实验,通过认真完成这些实验,同学们可以达到熟练掌握 C++语言的语法知识并进行简单程序设计的目的,但从长远来说,还存在着以下局限性:

1)实验案例设计多以练习C++的语法知识为主,案例过小,而且彼此缺乏联系,不能解决实际生活中比较复杂的问题。

2)教材前半部分的案例主要是介绍C++语言的基础知识,与面向对象程序设计无关。

3)采用的开发平台为 VC6.0,编写的是控制台应用程序,与目前社会上主要利用VS2005、VS2008开发Windows应用程序相比,滞后于当前软件开发的实情。

针对实验内容的局限性,在要求学员完成教学大纲中规定的实验内容之外,我适当地添加了一些实验内容,目的在于使学员熟悉VS2005、VS2008软件开发平台,初步具有利用VC++开发实用软件的经验和能力,培养学员使用Visual C++开发程序的兴趣,为最终毕业设计的顺利实施打好基础。

为保证补充实践教学活动的有效开展,我采用的是项目教学法。项目教学法是指在教学过程中以一个个项目为主线来展开,把相关的知识点融入到项目的各个环节中去,层层推进项目。通过对问题的深化或功能扩充,来拓宽知识的广度和深度,直至得到一个完整的项目解决方案,从而达到学习知识、培养能力的目的,是一种典型的以学员为中心的教学方法。

3.2 项目教学法在实践教学中需解决的问题

首先,无论教学采用何种形式,始终还是要围绕《面向对象程序设计》课程的教学大纲,教学效果要以达到教学大纲中提出的教学要求为主,不能额外增加在职成人学员的学习负担。故在设计补充的实验时,我把握了以下原则:

1)补充的实验要与教学大纲中要求的实验目标一致;

2)补充的实验最好配合教学大纲中安排的十二次实验,在实验课上一同完成,便于老师同时指导;

3)每个补充的实验完成时间最好控制在半小时内。

Visual C++自1992年发布第一版到2010年,已经有十几个版本,其中Visual C++ 6.0发行至今一直被广泛地用于大大小小的项目开发,也是《面向对象程序设计》课程推荐使用的版本,但是使用这一版本开发Windows应用程序必须基于MFC,而MFC的入门门槛较高,很多初学者还没有开始开发程序就会被系统生成的大量代码吓倒。.net 2003以后的Visual C++开发Windows应用程序有两种常用的方式:一种是使用MFC创建Windows应用程序,另一种是使用Windows Forms创建Windows应用程序,Windows Forms是一种基于窗体的开发机制,采用这种方式开发应用程序简单方便,和使用Visual Basic类似。结合我对教学活动的定位及目前软件使用情况,我在教学中使用的项目开发平台为Visual Studio 2008.net,创建Windows应用程序采用的是第二种方式。

项目的设计和实施是项目教学法能否体现补充实践教学活动价值的关键,我们的最终目标是通过这些项目的操作,能够培养学员解决实际问题的能力,但同时又要保证这些项目能够在较短的时间内完成,每个项目不牵扯过多的知识点,如何将这两个相互矛盾的要求统一起来,我在实际教学过程中采用的是这样一条途径:教学前,先将一个大项目进行解体,发散成几个小项目;教学过程中,按照教学大纲的安排,一一实现这些小项目,找时机将它们的功能逐步整合,在教学的最终还原这个大项目。项目的来源和实施主要有以下两种方式。

第一种,教师引导,学员补充。

教师凭借自己的教学经验和对课程内容的熟悉,构思一些具有实用功能的大项目,结合每次实验课的内容、目标设计出能够完成大项目某一部分功能的小项目,在指导学员完成这些项目的同时,鼓励学员对这些小项目进行功能扩充,最终师生共同实现最初构思的项目。

第二种,学员构思,教师指导。

教师鼓励学员结合学习、生活中的经历,自己先构思一些大项目,然后再与教师进行讨论;教师凭借自己的经验,指出学员利用现阶段所学知识可完成的部分;通过这种与学员反复讨论、指导的方式,最终实现学员构思的项目。

3.3 项目教学法在实践教学中的开展

目前,《面向对象程序设计》课程补充实践教学活动的开展主要采用的是“教师引导,学员补充”的实施办法。在开展补充实践教学活动之前,我结合教材中各章节都存在数值运算案例的情况,构思实现一个功能完备的运算器(大项目);结合教学大纲中安排的十二次实验,针对每次一实验课的教学目标细化成一个个小项目。每一次补充实验的内容及目的如下表所示:

?

以项目1~4为例,项目3是在项目2的基础之上,进行了功能扩充,而项目4是将前三个项目的功能整合在了一起,形成了一个在实际生活中大家都比较熟悉的应用软件——数字计算器。

项目7是在项目5的基础之上进行的功能扩充。

项目8将项目4、6、7的功能进行整合,形成了一个多功能的计算器。

通过这种安排方式,可以在教学最终实现一个功能比较完善、在现实生活中具有一定应用价值的项目。

每个小项目的实施方法基本一致:先让学员们自己设计界面,然后引导学员分析如何实现程序的功能,鼓励学员们自己编写代码,当学员们的操作出现问题时,在讲解问题原因的同时将重要知识点融入其中,最后指导学员完成正确代码的编写。

在实施过程中,补充的实验与中央电大安排的实验同时进行,具体操作为每次实验课适当加紧教学大纲中规定实验的进度,以缩短实验时间,节省出的时间用于补充安排的实验,每次实验课的时间会根据实际情况略长于规定的课时。

为了保证补充实践教学活动的实施效果,一定要要求学员要听从教师的安排,独立完成每次课布置的项目,并认真填写项目实施记录表;学员在实验过程中若遇到有疑问的地方,一方面要及时与教师讨论解决,另一方面要将解决方法记录在项目实施记录表中。学员要对已完成的项目提出功能扩充意见,并能在课后着手实现。

[1] 王萍.C++面向对象程序设计[M].清华大学出版社,2001.

[2] 徐孝凯.面向对象程序设计实验[M].中央广播电视大学出版社,2004.

G72

A

1008-7427(2011)01-0018-02

2010-10-09

猜你喜欢
面向对象教学大纲程序设计
基于Visual Studio Code的C语言程序设计实践教学探索
以纲为要,创新课程体系建设
——上海老年大学教学大纲建设实践探索
以人为本 以纲为纲
——老年大学教学大纲实践与探索
互动式教学大纲在本科教学中的实践与探索
——以《工程制图与识图》为例
从细节入手,谈PLC程序设计技巧
高职高专院校C语言程序设计教学改革探索
面向对象Web开发编程语言的的评估方法
法国普通教育高中历史教学大纲评介
基于面向对象的车辆管理软件的研制与开发
PLC梯形图程序设计技巧及应用