面向对象程序设计课程实践教学改革的探讨

2013-04-29 05:25鲁丽张采芳
电脑知识与技术 2013年9期
关键词:面向对象教学改革创新

鲁丽 张采芳

摘要:面向对象程序设计是高等院校计算机专业教学体系中的一门主干课程,该文以校级教学改革为背景,针对目前该课程教学中存在的问题,探讨了如何在课程教学过程中促进学生的创新思维,培养学生的创新意识及提高学生的创新能力,并提出了一些个人想法。

关键词:面向对象;教学改革;创新

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2013)09-2185-02

随着计算机技术的飞速发展,计算机融入到了生活与工作的各个方面,企业对计算机人才的需求越来越大;当前,普通高校计算机专业人才培养与社会需求存在着严重的不匹配,一方面许多毕业生因缺乏基本的实践能力找不到理想工作,另一方面很多企业招不到合适的人才,计算机专业毕业生就业率“屡创”新低。针对这一现象,很多高校提出了培养创新型计算机人才的目标。面向对象程序设计课程是计算机专业主干课程之一,在整个教学体系中占据非常重要的地位。面向对象程序设计课程要求学生理解面向对象的基本概念,掌握面向对象程序设计技术,以面向对象的思维方法去解决现实问题。课程需要学生以创新的思维去理解现实世界与面向对象空间的映射关系;对学生创新能力的培养也是课程的目标之一,只有这样才能使得学生具有设计实现综合大型程序的实践能力。该课程在实际教学过程中存在很多问题,一方面许多同学感觉课程概念太多,抽象难以理解,产生了厌学情绪,基本的知识点无法掌握,更谈不上创新能力的培养;另一方面学生没有建立好课程知识体系,缺乏实践环节,导致所学的知识点孤立、片面无法有效的组织应用在一起,从而产生课程无用的想法。该文分析了上述问题出现的原因,结合教学实践,提出了一些针对性的解决方法。

1 目前教学中存在的问题

1.1 不注重学生课程体系结构的建立

面向对象程序设计课程教材的第一章介绍课程的一些重要概念,通常概念部分的学习比较枯燥、抽象,“急功近利”的错误思想使得很多学生认为学习概念对实践能力的培养没有帮助。因此在教学过程中教师容易受到这些不利因素的影响,从而忽略概念的讲解,这样导致学生没有建立完整的课程结构体系,在后期的学习,不注重相关知识点之间的联系,孤立片面学习一些概念和语法规则,因而影响了整个课程的学习效率和效果。

1.2 忽略学生个体背景,学生主体地位

在进行面向对象程序设计课程教学时,教师忽略学生已有的知识体系,孤立地提出新的概念,使得学生对于新概念的认知感觉困难。增加了课程学习的难度。

1.3 课堂教学灌输内容多、启发少

由于面向对象程序设计课程比较抽象,存在课时少,概念多,知识体系复杂等问题,教师在教学过程中一味的按照设计好的进度教学,课堂以讲述为主,忽略学生主体地位,虽然讲述知识体系完整,但是学生真正理解的少,更谈不上创新思维的培养,创新能力的提高。

1.4 学生实际编程能力没有提高

学生学习的知识点片面,孤立,没有通过实践环节,无法将其有效的组合在一起,对于所学的知识不能有效地应用,容易遗忘,产生无用的想法。创新能力的提高必须加强课程实践环节。

2 以培养创新人才为目标的教学方法的探讨

2.1 建立学生完整的认知体系

面向对象程序设计概念的讲解很重要,通过讲述概念之间的联系可以在课程开始帮助学生建立一个整体的面向对象的思维体系,因此概念的讲述不能减少,更不能省略,但是讲述概念的时候,要注重实际与理论相结合,不能简单的重复书本上的概念知识。例如在讲述类的封装性时,我们可以以收音机为例。收音机是一个封装体,内部电路对于普通用户而言是封装隐藏起来的,这样对其内部电路起到一个保护作用,因此封装使得个体组合在一起,隐藏使其内部的元素更安全;然而收音机并非一个完全的封装体,它还留有对外的接口——外部按钮,否则它将没有用途。通过形象的类比,既不会使学生对于新的概念感到陌生,又能启发学生的创新思维,有助于后期学习掌握类的定义,类的封装性等。

对于类的多态性的概念,我们可以从学生熟知的环境出发,引入Person类,及基于Person类的两个派生类——学生类和老师类,在Person类中有一个work行为,同样学生类与教师类中都有work行为,对于Person类中的work行为没有办法给出具体的定义——可以提出纯虚函数的概念,而学生类中的work行为是学习,教师类中的work行为是教学,学生能很快理解多态性的概念。

2.2 建构主义指导课程教学

建构主义认为,学生并不是空着脑袋走进教室的,在教学过程中要注重从学生已有的知识体系出发,在已有的知识体系基础上帮助他们建立新的知识体系,而不是直接把新的概念灌输给学生。一般学生是在学习完C之后,进行面向对象程序设计课程的学习,C语言中已经建立的知识体系,可以帮助学生进入C++面向对象程序设计的相关领域。例如在讲述面向对象的特性之一——封装性的时候,我们会引入类的概念,在C语言中有结构的概念,类和结构在定义形式非常类似,可以从C语言中结构的定义出发,引入到C++中对结构概念的扩充——结构内不仅可以包含数据成员,还可以包含函数成员,接下来用class关键词替代struct关键词,就可以引出类的定义;然后将针对结构的操作方法直接应用于类,提示学生思考操作方法的可行性,由于结构中的成员默认的属性都是公有的,而类中的成员默认的属性都是私有的,所以针对结构的操作不能直接照搬到类,通过这样从已知到未知,逐步深入,慢慢学生会掌握类的定义,理解类的封装性等一系列概念。

2.3 课堂教学采用启发式,互动式教学

培养学生的创新能力,要求教师在课堂上注重启发式教学,不要一味的对学生进行“填鸭式”的灌输。在教学过程中我们不能再仅仅教会学生如何套用语言的语法,照葫芦画瓢验证教材和课堂讲述的内容,而应该提高学生对面向对象思想,方法的理解,全面掌握面向对象技术,并熟练应用之。学习新的概念以后,教师可以针对新的概念列举一些相关的案例,设计一些问题,通过这种互动环节,不仅活跃了课堂的气氛,促使学生主动学习,同时也可以强化学生对于新概念的理解,使学生达到举一反三的程度;教师可以根据回答的情况,掌握学生学习的效果,更好的把握课程的教学效果和教学进度;同时可以提出深一层的问题,引导学生对新的未知知识的探索,培养学生的自学能力和创新能力。

2.4 项目实践与课程教学同步

项目实践可以增强学生自学能力,促使学生从被动学习到主动求知,提高学生的创新能力。在2010年大学生就业报告中,09届大学毕业生认为高校教育中最应该改进的方面是实习实践不够。

项目实践是面向对象程序设计课程教学过程中不可缺少的一个环节,课堂中教师的讲述可以让学生牢牢掌握面向对象程学设计方法的基本概念,及其知识结构体系,项目实践可以帮助学生学以致用,建立完整的学科体系,而不是片面的,孤立的知识点;解决课程枯燥难学的问题,激发学生学习兴趣;将项目引入教学,让学生有更多的项目实践经历,学生不仅拥有扎实的理论基础,还具有较强的动手能力,只有动手能力的提高,才能真正提高学生的创新能力。

项目教学与课堂启发教学同步进行,项目教学以学生组成课外小组,以小组为单位进行,两者相辅相成,项目促进基本原理及概念的学习,没有基本原理及概念的学习,项目是无法深入,甚至无法按期按成,只有在掌握基本知识点的基础上,进行一些项目的训练,才能真正提高解决问题的能力,才能对实际中需解决的问题触类旁通,举一反三,因此项目实践与课堂教学缺一不可,不能厚此鄙薄。具体项目教学可以在课程中后期进行,将学生分成若干个小组,以小组为单位,每个小组有相应的项目负责人,负责一个项目的开发进度,课程后期可以对学生的项目进行答辩验收,将其成绩按一定的比例计入课程成绩。教师在课程上对项目进行必要的分析和分解,学生课后以小组为单位进行,教师在课后进行必要的指导,同时在项目进行过程中进行必要监控,以保证项目的教学效果。在项目的选择上要注意,项目不能等同于课后作业,应该具有一定的实际应用性,否则没有项目的意义,其次,根据学生个体背景情况,对于项目的选择难度不能太高,否则容易使学生产生畏惧心理,无法按期完成,失去了项目教学的意义。在项目实践的过程中,学生需要独立的解决面临的问题,同时可能需要学习新的知识点,这些将非常有助于培养学生的创新能力。

3 结束语

高校针对培养计算机专业创新人才的目标进行了一系列教学改革及有意义的尝试。教学改革是一个不断探索,不断完善的过程,在教学实践中,教师没有固定的教学模式可遵循,教师需要根据社会对计算机人才的需要调整自己的教学目标,同时更需要按照学生的认知规律组织教学,结合个体情况,灵活的采用和结合各种教学方法,善于积累与改进,不能墨守成规,这样一定会提高课程的教学质量,培养出社会所需要的创新型人才。

参考文献

[1] 吴跃,陈峥.面向对象程序设计教改探索[J].计算机教育,2010(4).

[2] 莫露洁.《C++面向对象程序设计》课程教学探讨[J].科技信息,2008(24).

[3] 麦可思研究院.2010年中国大学生就业报告[R].2010.

[4] 马苗,田红鹏,“面向对象程序设计与C++”教学中的问题与思考[J].教育与教学研究,2008(6).

猜你喜欢
面向对象教学改革创新
面向对象的计算机网络设计软件系统的开发
面向对象的数据交换协议研究与应用
基于人才培养的技工学校德育实效性研究
现代信息技术在高职数学教学改革中的应用研究
以职业技能竞赛为导向的高职单片机实践教学改革研究
微课时代高等数学教学改革的实践与探索
面向对象Web开发编程语言的的评估方法
面向对象信息提取中影像分割参数的选择