面向对象程序设计课程教学改革与创新

2010-08-31 09:15
太原城市职业技术学院学报 2010年5期
关键词:程序设计课程设计编程

张 旮

(福建工程学院,福建 福州 350108)

面向对象程序设计课程教学改革与创新

张 旮

(福建工程学院,福建 福州 350108)

针对应用型人才培养目标,改革课程实验教学内容,加强实践环节,采用分层、互动教学,激发学生学习的积极性和主动性,提高学生分析问题和解决问题的能力;同时,改革考试模式,建立以培养学生编程能力为本的教学评价体系。

面向对象程序设计C++;教学改革;创新

C++语言是兼容C语言的面向对象程序设计语言,它既支持面向过程的结构化程序设计,也支持基于对象的面向对象的程序设计,是编写系统软件和应用软件的通用语言。面向对象程序设计C++是我校计算机专业必修的一门重要的专业基础课程。

随着社会信息化不断发展,社会对大学生的计算机应用能力要求大大增加,也对计算机程序设计能力有了更高的要求。程序设计语言已被公认为高校学生适应时代发展应掌握的基础内容。根据我校建设应用型本科大学,培养基础扎实、知识面宽、实践创新能力强的应用型高素质人才的目标,如果计算机专业课程教学只停留在注重基础知识的学习,而对实际编程能力的培养重视不够,则势必影响学生的社会竞争能力,学生就会对相应课程的学习失去兴趣。笔者经多年的教学研究和实践,尝试对C++语言程序设计课程教学进行改革,以培养学生编程能力为出发点,以为学生在后续专业学习中的计算机应用打基础为目的,通过改革实验教材、教学方法,调整教学手段,提高教学质量,从而提高学生的实际应用和创新能力。

一、实验教材的改革

长期以来,我们培养的计算机专业的学生存在着“什么都学过,却什么都不会”的尴尬局面,专业教育、教材与应用需求严重脱节。现有的实验教材和指导书中内容过多的验证性实验,严重地影响了学生自主学习、创新提高能力的培养。因此,在面向对象程序设计C++课程实验内容的选择、实验步骤的设计和实验文档的组织等方面都做了精心的考虑和安排,编写课程实验教材《C++语言程序设计实验》。该实验教材依据课程教学大纲,充分理解课程的大多数主教材,遵循课程教学的规律和节奏,体现了实验的可操作性,增加了综合性和设计性比例,以帮助学生切实把握该课程的知识内涵和理论,进一步提高实践水平。

《C++语言程序设计实验》通过一系列实验练习,把C++语言程序设计的概念和理论知识融入到实验当中,从而加深对C++语言程序设计课程的认识、理解和运用。实验内容几乎覆盖了C++语言程序设计的各个方面,涉及数据类型与表达式、函数、构造数据类型、类与对象、继承与派生、多态性、类模板、C++输入输出流与文件系统、string类字符串处理、异常处理等。每组包含2-3个实验,全书共17个实验。如下表所示:

实验内容分布实验1 实验内容 3实验2 C++基础编程 2实验3 类与对象编程 2实验4 继承与派生编程 2实验5 多态性编程 2实验6 类模板编程 2实验7 输入/输出流与文件系统编程 2实验8 String类字符串处理编程 2实验9 异常处理编程 2

各个实验练习之间的难度不断增加,循序渐进,学生在实验中遇到困难,还可以搜索前面的实验来帮助解决问题。每个实验中都包含背景知识介绍、所需的工具及准备工作和实验指导等,以帮助学生加深对课程教材中所介绍概念的理解。每个实验完成后,要求学生根据个人心得完成实验总结。实验教学中,应注重实验结果的分析与总结,使学生巩固本次实验内容,培养学生分析、概括能力。

二、教学方法的改革

1.改革教学环境,强调实践性

实验教学对巩固学生所学知识,加深他们对基础知识和算法的理解,提高学生的程序设计能力有着重要的作用。C++语言程序设计课程的教学由理论与上机实验两个环节组成,主要教学目标是培养学生的编程能力并提高学生的实践能力。目前该课程的理论教学和上机实践均在机房进行,讲课时不严格区分理论课和上机课,达到了边讲边练、边辅导边提高的效果。在教学过程中,一般先将复杂的新问题分解为较简单的小问题,然后带着学生一步一步实现,并逐步完善,有时让学生自己编写部分功能代码,找出程序功能的不足并加以解决,提高学生主动学习的积极性。

全面开放机房,安排专业教师值班,让更多的学生通过课外时间,加强课程实验项目的练习,强调在不断实践的过程中学习新知识,大幅度提高学生的动手能力。

2.采用分层教学,强调个性化

在教学活动中,实时遵循现代教育以人为本的理念,同时兼顾“吃不消”和“吃不饱”的学生。针对少数有兴趣和有能力的学生开设提高班,以此发挥学生的聪明才智并带动整个班级的学习氛围,针对学习比较吃力的学生开设辅导班,以使所有学生都能达到课程教学要求,从中也充分体现了个性化教育的特点。同时,积极开展课外科技活动,组织“C++语言程序设计作品大赛”。学生以小组或个人的形式自主选题,自找参考资料,独立设计并开发程序,最后通过初选的学生以答辩的形式展示自己的作品,学校对于获奖的学生制定了免考或加分政策,以作鼓励。

同时,利用学校教务处教学资产管理平台,提供课程教学大纲、讲义以及根据教学进度随时更新的作业、辅导、学生作品等,共享这些资源,使学生可以不受时间、空间限制,在任意时间和地点通过网络平台进行学习。学生既可以通过网络平台进行个别化学习,巩固课堂知识,也可以利用网络平台进行相互交流、协作学习,最大限度地发挥学生学习的积极性和主动性,激发学生学习的兴趣。我们要重视学生个性思维的发展,倡导学生多动脑、勤思考、敢提问,甚至敢于对教师或教材的观点提出不同的看法。

3.改革教学过程,强调互动性

在教学过程中,采用启发式教学,激励学生积极参与整个教学过程,将学生被动学习的心理转化为主动学习行动,充分发挥以学生为主体的作用,强调教学互动性。我们开发并应用于激发学生思维的多媒体课件和电子教案,遵循“提出问题、分析问题、解决问题”的过程进行教学,注重用教学技巧激发学生的学习欲望。例如,教师在第一堂课通过演示综合实例,让学生了解该课程的应用性,以此产生学生的好奇心,从而激发学习兴趣。在整个教学过程中,注意让学生在发现问题和解决问题的过程中,系统学习和掌握基础知识,同时注意调动学生的学习积极性,引导学生灵活运用所学知识,不断提高学生探索、发现、解决问题的能力,培养创新精神。

4.改革课程设计,强调创新性

根据计算机专业特点和我校建设应用型大学的办学理念,在学生学习完“C++语言程序设计”课程之后,增设两周的课程设计。其教学目的不仅是让学生巩固课堂上所学习的程序设计语言,更重要的是用程序设计语言来解决实际问题,掌握程序设计的思想,从而提高学生分析问题和解决问题的综合能力。学生在课程设计的过程中以小组为单位,成员可以是2-4人。在课程设计内容上我们选择了难度适中、趣味性较强的题目,比如小游戏、运动会成绩统计系统、学生信息管理系统等。每个题目都通过基本训练、提高训练和创新训练三个过程完成。基本训练中,一步一步引导学生实现系统的基本功能,以便学生快速入门,同时避免部分学生无从下手的现象发生;提高训练中,均提供需要提高的功能要求,以使学生在基本训练的基础上更上一层楼;创新训练中,给学生提供充分发挥创造力的空间,这是知识的升华阶段,学生通过基本训练和提高训练,已对自己的课程设计题目有信心、有兴趣,而且有较好的创新欲望,所以学生表现得非常积极。完成课程设计题目,需要学生以现有认知能力为基础,经过实践、讨论、学习,这样学生在解决问题的过程中就会获得一定的成就感,而且通过三个不同层次的要求,使所有学生都有进步。在课程设计过程中,教师要实时对学生的学习情况进行监督和调整,为学生能顺利完成课程设计提供必要的支持和帮助,充分体现“以教师为主导、学生为主体”的教学思想。

通过课程设计,加强了学生之间的相互合作学习,学生的自学能力得到了提高。学生能运用C++语言程序设计解决实际问题,深入了解了程序的设计、编码、运行与调试,掌握了软件开发的基本过程,认识到程序设计风格和规范对整个程序设计的重要性,提高了分析问题和解决问题的能力。同时,学生动手实践能力也有了进一步的提高,充分体现了我校培养应用型人才的办学理念。在小组合作学习的过程中,所有学生都认为通过小组合作,培养了学生与人交流、与人合作的能力以及团队精神,提高了学生的责任感和自信心。

三、改革考试模式,建立以培养学生编程能力为本的教学评价体系

教学内容和教学方法的改革必然会牵动教学效果评价手段的改革。此前评价学生C++语言程序设计课程的学习成效一般是通过期末笔试方式进行,这种方式片面性很大,考查不了学生的实际动手编程能力,阻碍了学生探索的动力,课程形象也在学生心目中大打折扣。有些学生尽管在考试中成绩优秀,但却做不出一个像样的应用程序。为了解决这种会考试与会做事不相吻合的矛盾,我们建立了理论和实践考核相结合,以培养学生编程能力为本的教学评价体系。

理论和实践成绩各占课程总成绩的50%。实践考核具体操作是平时占40%,其中课程8项实验检查和实验报告占20%,课程设计占20%;最终上机考试占60%,上机内容包含两个编写程序题目,这两个题目涵盖了C++语言程序设计实验大纲要求,分别从文件的建立、类与对象的设置、方法的使用、针对异常处理编写相应的处理过程,在一些算法的实现等方面给出相应得分点。这样既考察了学生的实践动手能力,也促进了学生平时要多上机。理论考核则主要考查学生掌握基本概念、语法和常用算法的程度,平时占30%,其中作业检查占20%,课堂提问10%,从而鼓励学生课堂积极回答问题、讨论问题;最终笔试占70%。这样就形成了在实践中学习、在实践中考核的办法,使学习与考试有机结合,真正起到相互关联、相互促进、互为补充的作用。

[1]杨进才,沈显君,刘蓉.C++语言程序设计教程[M].北京:清华大学出版社,2006.

[2]李秉璋,罗烨,景征骏等.“面向对象程序设计”课程实践教学改革探索[J].计算机教育,2009,(18):12-13.

[3]满娜,任向民.“C++语言程序设计”实践教学的改革与探索[J].中国新技术新产品,2009,(19):235.

G642

A

1673-0046(2010)5-0128-02

猜你喜欢
程序设计课程设计编程
编程,是一种态度
元征X-431实测:奔驰发动机编程
编程小能手
基于Visual Studio Code的C语言程序设计实践教学探索
纺织机上诞生的编程
龙凤元素系列课程设计
中秋明月
从细节入手,谈PLC程序设计技巧
高职高专院校C语言程序设计教学改革探索
基于Articulate Storyline的微课程设计与开发