面向软件方向课程群的《面向对象程序设计》教学研究

2012-11-11 03:17:44王忠群谢晓东
长春大学学报 2012年4期
关键词:面向对象程序设计面向对象程序设计

王 勇,王忠群,谢晓东

(安徽工程大学 计算机与信息学院,安徽 芜湖 241000)

面向软件方向课程群的《面向对象程序设计》教学研究

王 勇,王忠群,谢晓东

(安徽工程大学 计算机与信息学院,安徽 芜湖 241000)

针对目前课程教学中存在的问题,结合软件方向课程群的教学内容,将《面向对象程序设计》的教学深度融合课程群的教学中。采用项目驱动的教学方法,将案例贯穿于课程教学乃至课程群的教学中。教学实践证明,该教学方法能提高学生的学习兴趣,增强学生的应用能力。

软件方向课程群;面向对象程序设计;项目驱动

《面向对象程序设计》与《数据库原理及应用》、《数据结构及算法》、《操作系统》、《编译原理》、《软件工程》、《分布式计算》、《计算机网络》等软件方向专业主干课程紧密相关,自成体系,形成软件方向课程群。近年来,关于软件方向课程群的教学研究,已引起广泛的关注。面向对象程序设计作为目前的程序设计的主流技术,在整个软件方向课程群的体系中占有举足轻重的地位。但学生的程序设计水平不高却是不争的事实。教学实践证明,编程水平直接决定学生的应用能力,也是其他后续专业课程学习的基础。因此,我们认为如何提高学生的学习兴趣、如何使得《面向对象程序设计》课程与软件方向课程一体化培养目标是保证教学效果提高的关键。针对目前课程教学中存在的问题,结合课程群的教学内容,将《面向对象程序设计》的教学内容深度融合课程群的教学中。采用项目驱动的教学方法,将案例贯穿于课程教学乃至课程群的教学中,以培养满足社会需求的计算机相关行业的高级专门人才。

1 课程教学存在的问题

1.1 课时数较少,教学内容很难扩展

《面向对象程序设计》作为一门专业基础课,其重要性可想而知。但一直以来,课时数较少,课堂教学只能涉及语言的语法层次,很多有应用价值的教学内容很难扩展。经过2008年的新一轮培养计划修订,这种情况有了一定的改观(在培养计划修订中,我们提前了《面向对象程序设计》的开课时间,增加了课时数),但依然存在问题。我们认为语言的学习,应该是循序渐进。利用一学期的时间不可能将一门语言学透,语言课的学习应该渗透到其他专业课的学习中。

1.2 课程设置孤立,内容体系群有待建立

现有的课程设置大多依据本课程的教学要求,未能从课程群角度考虑课程教学内容的选择,课程之间的联系未能深度挖掘。课程内容的设置往往都是孤立的,课程之间孤立容易形成学生理解的单一。学生学习某门课程只知道掌握该门课程的内容而不知其与其它知识的应用,学习体系差,不能触类旁通。

1.3 工程项目实践薄弱

作为一所工科院校,我们需要培养适应21世纪社会主义现代化建设需要,德智体全面发展、基础扎实、知识面宽、能力强、素质高、富有创新意识的专门性高级人才。工程项目实践是培养目标完成的重要保证,缺少工程实践会使得学生缺少竞争力。但目前我们的课程设置所涉及的有工程背景的实践环节较少,实践内容相对较为陈旧单调,学生参与科研的机会少。

1.4 课程不能反映专业特色

专业特色是一个专业赖以生存与发展的基础,课程的设置有是特色形成的必要条件。如何设置课程才能显现特色,一直未能引起足够的重视。

2 课程与课程群的关系

软件方向课程群包括《C语言程序设计》、《面向对象程序设计》、《操作系统》、《数据库原理及应用》、《计算机网络》、《软件工程》等专业主干课程及专业特色课程等。其课程群课程配置图如图1所示。

图1 课程群课程配置图

在整个课程群体系中,《面向对象程序设计》是专业基础课程,其与其他专业课程的关系最为紧密。面向对象语言如java语言,其教授的章节可以其他主干课程的教学内容进行映射。如Java语言中的线程的教学直接对应操作系统的进程管理与线程管理等内容。按照教学安排《操作系统》是《面向对象程序设计的后续课程。学生在学习《面向对象程序设计》时无法利用操作系统的相关知识。因此,这也为Java语言程序设计的教学带来了难度。我们对《Java语言程序设计》课程的教学内容进行梳理,其与其他课程的关系如表1所示。

表1 Java语言与其他课程的关系

3 面向课程群的解决方案

课程结构体系是指单个课程之间既相对独立、又相互连结的有机整体,是按学生的认知规律、能力培养规律和素质形成规律科学地组合在一起形成的富有专业特色的课程系统。合理的、科学的课程体系是实现培养目标、保证教学质量的重要保证。它直接影响学生知识面的广度和创新能力的培养。针对计算机相关专业的特点,深入研究计算机软件课程群的课程体系是很有必要的。软件方向课程之间关系紧密,我们应该充分研究各门课程的内容及其彼此之间的关系,采用以面向对象程序设计为驱动,构建合理的课程体系。

针对课程教学中存在“课时较少,教学内容很难扩展”的问题,我们采用分级教学法。将《面向程序设计》的基本内容如基本语法、gui编程、面向对象的核心知识点在第二学期精讲。将多线程、网络编程、数据库编程等高级主题分散在专业主干课中以选修课中精讲。同时,我们积极向学校申请将《面向对象程序设计》课程提升与《大学英语》同等重要的地位。也就是说,将《面向对象程序》课程一分为四,分别为《面向对象程序设计Ⅰ,ⅡⅢ,Ⅳ》,在第六学期进行编程认证考试,考试成绩与学位挂钩。从而,提高学生学习计算机语言的重视程度,培养学生的应用能力。

面向对象程序设计又是一门实践性很强的课程,必须通过不断的实践才能真正掌握面向对象的核心思想和灵活多变的编程技巧。因此在进行理论教学改革的同时,必须加强实践环节的管理与改革,发挥学生学习的主观能动性,培养出具有分析问题、解决问题能力和富有创新精神的学生,真正适应小型软件开发甚至是大型软件开发的需要。我们认真分析软件方向课程群的实践要求,凝炼以前多门主干课程所开的课程设计的教学要求,合并课程设计内容,精华实践内容。提出以软件方向课程群的培养目标为导向的课程群设计内容。采用层层递进,分层教学,从而使学生获得实际项目经验。

4 以项目驱动的教学方法

4.1 驱动项目的选择

以项目驱动的教学能提高学生的学习兴趣与应用能力,已受到到广泛关注,并取得实际成效。但项目驱动教学的关键在于项目的遴选和项目教学的持续型。由于单门课程项目驱动持续的时间较短,很难扩展项目内容,通常是浅尝辄止。很难给学生留下深刻印象,实际效果较差。实践证明,单门课程的项目驱动的效果远不如坚持多门课程采用同一个项目的驱动。所以我们遴选项目需符合下列条件:(1)符合当前主流软件的发展方向,具有一定的实用性。(2)符合软件方向课程群的整体教学要求。(3)项目应该具有专业特色要求。例如,我们选择改进经典案例“petstore”作为项目案例之一,其应用程序的主界面如图2所示。

图2 pet store的主界面

4.2 项目驱动的实施

如何有效的面向软件方向课程群将项目驱动应用于《面向对象程序设计》的教学中,激发学生学习兴趣?我们认为可按以下步骤实施:

(1)精讲核心知识。当前,在IT企业中,越来越多人开始使用Java,但是他们大多数人没有做好足够的思想准备(没有接受核心的面向思想的核心概念),以致不能很好驾驭Java项目,甚至导致开发后的Java系统性能缓慢甚至经常当机。很多人觉得这是Java复杂导致,其实根本原因在于:我们起初在学习面向对象语言中对核心概念未能理解透或产生理解误区。

所以,在项目案例相关内容讲解之前,需要对课程核心知识精讲。对课堂上精讲的内容要求教师备课要充分,求精、求深,这样才能让学生把握讲解内容的来龙去脉,讲解才能够起到以一当十、举一反三的教学效果。如关于面向对象的基本思想可以结合面向结构化程序设计的缺点引入,利用大量实例子讲解类、对象、封装、继承与多态等基本概念。只有核心概念理解透彻才能够把握项目的核心点。

(2)项目引入。在讲解核心时,可以很自然穿插讲解项目的部分内容。如对面向对象类得讲解中,可以穿插讲解“petstore”项目的类pet等。在主干课程《数据结构》的讲解中,可以“petstore”项目中的list类及购物车等。

(3)总结知识点、串联项目。对项目进行分析和讲解。归纳、分析项目中涉及的知识点、难点及重点。同时要对学生的学习情况进行分析,听取他们的反馈意见,以便今后对该项目教学进行改进。还要对项目进行归纳总结,探索认识问题的方法和解决问题的途径,举一反三,达到事半功倍的效果。

(4)项目实现与优化。因为面向对象程序设计所遴选的项目具有良好的扩展型,并贯穿于软件方向课程群。所以我们设计综合性的面向课程群的课程设计,对我们讲解案例设计并实现系统原型。由于学生经历对该项目已具有较长时间的理解,可以更多的关注课题的高级技术,如并发处理、系统架构等。这样可以减少多门课程开设多门课程设计的内容重复,提高学生的学习兴趣。

5 结语

构建应用型本科应用人才的培养新模式,是高校人才培养改革的关键。针对计算机应用型人才的培养,我们面向软件方向课程群的《面向对象程序设计》教学研究。从实施到现在,经历了三年,成效显著。2010年,我院参加安徽省大学程序设计大三获得一等奖、毕昇杯大赛获全国一等奖1个、二等奖3个。软件方向课程群的教师有一名获安徽省教坛新秀,主持安徽教育厅自然基金4项、芜湖市自然科学基金3项,企业产学研项目多项。借助项目支撑,大大提高了教师工程应用能力。更重要的是,学生的学习兴趣充分激活,综合能力得到了显著提高。

[1]张永,江泽涛,蔡虹.面向对象程序设计的教学研究[J].电脑知识与技术,2006(2):227-228.

[2]朱清华.面向对象程序设计的教学改革[J].教书育人,2005(11):43-44.

[3]符蕴芳,赵英豪.面向对象程序设计教学改革与实践[J].中国成人教育,2010(11):184-185.

[4]王文冰,李辉.以实例贯穿课堂的面向对象程序设计课程教学改革[J].计算机教育,2011(1):91-93.

[5]陈优良,李恒凯,徐昌荣.案例教学法在《面向对象程序设计》课程中的应用探讨[J].新课程研究,2010(4):54-55.

Research on the Teaching of Object-oriented Programming Course Oriented to Software Curriculum Group

WANGYong,WANG Zhong-qun,XIE Xiao-dong

(School of Computer and Information,Anhui Polytechnic University,Wuhu 241000,China)

Aiming at the problems existing in teaching,combining with the teaching contents of software curriculum group,this article integrates the depth of Object-oriented Programming Course into curriculum group teaching,which adopts the project-driven method,running cases through curriculum teaching and curriculum group teaching.Our experience indicates that the means can improve students'learning interest and enhance their application ability.

software curriculum group;object-oriented programming;project-driven

G642

A

1009-3907(2012)04-0498-04

2011-09-28

安徽省精品课程建设项目,安徽教育厅教学研究项目(20100732);安徽高校省级优秀青年人才基金(2011SQR L076);安徽工程大学教学研究项目(2009xjy24)

王勇(1979-),男,安徽舒城人,讲师,硕士,主要从事分布式计算、软件工程方面研究;

王忠群(1965-),男,安徽芜湖人,教授,主要从事软件工程方面研究。

责任编辑:刘 琳

猜你喜欢
面向对象程序设计面向对象程序设计
基于Visual Studio Code的C语言程序设计实践教学探索
计算机教育(2020年5期)2020-07-24 08:52:56
从细节入手,谈PLC程序设计技巧
电子制作(2019年9期)2019-05-30 09:42:04
面向对象的计算机网络设计软件系统的开发
电子测试(2018年15期)2018-09-26 06:01:34
面向对象的数据交换协议研究与应用
基于MOOC的编译原理分阶段课程教学研究
计算机教育(2016年9期)2016-12-21 00:32:22
高职高专院校C语言程序设计教学改革探索
CDIO理念下《面向对象程序设计》教学改革研究
科技视界(2016年16期)2016-06-29 21:58:51
独立学院面向对象程序设计教学模式的探讨与实践
考试周刊(2016年43期)2016-06-18 17:32:22
面向对象Web开发编程语言的的评估方法
软件工程专业面向对象程序设计教学改革研究
科技视界(2016年4期)2016-02-22 12:31:42