APP下载

面向对象程序设计教学研究与实践

2016-01-27黄胜李桥

计算机时代 2016年1期
关键词:理论教学案例教学情景教学

黄胜 李桥

摘 要: 根据当代计算机系学生的学习现状,结合面向对象程序设计课程的特点,采用情景和案例教学相结合的模式,从理论教学和实践教学两方面对传统的教学方式进行改革。从实践效果来看,改革增加了学生的学习积极性,提高了学生的实际编程能力,对于培养面向应用的高级专门人才具有积极作用。

关键词: 面向对象程序设计; 理论教学; 实践教学; 案例教学; 情景教学

中图分类号:G64 文献标志码:A 文章编号:1006-8228(2016)01-86-03

Teaching research and practice of object oriented programming

Huang Sheng, Li Qiao

(Hunan International Economics University, Changsha, Hunan 410205, China)

Abstract: According to the present situation of students' learning in computer department, combining with the characteristics of object oriented programming, the combination of scene and case teaching mode is used to reform the traditional teaching mode from two aspects of theory teaching and practice teaching. From the practical effect, the reform has increased the students' learning enthusiasm, improved the students' practical ability, and has a positive effect on the training of application-oriented advanced special talents.

Key words: object oriented programming; theory teaching; practice teaching; case teaching; scene teaching

0 引言

近几年来,随着信息技术教育的普及和教育信息化进程的推进,以MOOC(Massive Open Online Course,大规模开放在线课程)[1]为代表的网络化智慧教育和以计算机类培训机构方式存在的技能培训教育呈现出繁荣态势,它们在提升学生就业能力的同时,也对高校计算机教育的存在价值提出了挑战。在高等教育大众化背景下,面对其他类型的教育方式提出的挑战,高校计算机教育应积极变革,调整目标知识结构和相应课程体系,改善教学过程,证明自身的存在价值。面向对象程序设计是一门实践性非常强的重要课程,笔者结合多年的教学经验,针对面向对象程序设计教学中的难点采用有效的教学方法,让学生在学习过程中对面向对象程序设计的知识有比较全面的了解和掌握。

1 面向对象程序设计教学中存在的难点

面向对象程序设计(以C#语言为例)是当今软件开发人员和计算机相关专业学生必须掌握的一项基本技术,是计算机相关专业本科教育的重要内容之一[1]。然而从这门课程的教学实践情况看,很多同学掌握了基本语法和概念,如类的定义、封装性、继承性和多态性等,但在遇到具体问题时,却很少能分析、设计出符合面向对象思想的类来解决问题[2]。本文探讨在面向对象程序设计(以C#语言为例)的教学中,存在的问题有哪些。

⑴ 学生的基础。在高校计算机专业课程规划中,面向对象程序设计语言的先导课程一般是C语言,教师在讲授这门课程的过程中,往往将重点放在基本语法和逻辑流程上,这样学生缺乏对计算机程序的感性认识,当学习面向对象程序设计这门课程时,往往感觉抽象晦涩,以至产生顿挫感,继而排斥该门课程的学习。

⑵ 教学任务。C#作为一门程序设计语言,其教学的首要任务是使学生灵活应用所学的知识进行编程,培养学生的编程能力。而C#课程的特点是知识点多、概念多,理论性强。因此,教学过程上如果先基础,后应用,就需要较长的学习周期,很难产生阶段性的可见成果,无法使学生产生成就感和持久的学习驱动力[3],这不符合当前学生的心理特点。

⑶ 学习风气。时下学习风气浮躁在校园里表现较突出,这也是大部分教师在教学中遇到的一个实际情况。学生不愿意静下心来认真学习。而C#是一门实践性和关联性较强的课程,当学习抽象的程序逻辑和全新的数据结构时,学生是听不会,也看不会的,只有静下心来认真练习、实践,才可以掌握[4]。

2 面向对象程序设计案例化教学实践探索和思考

针对上述几点问题,在具体的教学中我们主要采用引导式教学[5],不直接告诉学生该怎么做,而是以故事为引子,带领学生思考并想办法解决问题。在解决问题过程中又会产生一些新问题,再继续思考、继续解决问题,逐层深入,不断激发学生的学习兴趣和积极性,让学生在教学的每个过程中都能获得学习的成就感,从而取得良好的教学效果。

这里以面向对象三大特性之一的继承特性的教学过程为例。本节的教学目标是通过情景故事的引入[6],让学生掌握以下几个知识点:继承的基本概念;继承的使用背景以及它的优缺点;运用继承的方法解决实践问题。

⑴ 故事引入。一家公司准备设计一款鸟类的模拟游戏,SimBird。公司的Joe(面向过程派)和Tom(面向对象派)为了争夺项目设计的主导权进行了一场你死我活的大辩论。而Jack(新手)在这次辩论中学会了继承的基本概念。

⑵ 问题的提出。Joe对着图1说:“哈哈,Tom,你的设计里每一个类中都存在着相同的属性name和相同的方法Quack(鸟类的鸣叫),这样会造成大量的代码重复。”

Jack看了看,低声的对Tom说,“Tom,你这个设计好像真的效率很低呀!”Tom自信的笑了笑,说:“这可不是我的最终设计,接下来我将用继承来对它们进行优化”。

Jack带着疑问的神情说,“继承,那是什么呀?”

⑶ 教学内容的引入。与学生一起分析如何设计才能提高代码的编写效率,既然大家都有共同的属性name和方法Quack,那么能不能只写一次,提高效率。这个时候就可以引入继承的教学内容,告诉学生继承的基本概念以及使用它的优点。

⑷ 与学生一起完成上述案例的制作。Jack恍然大悟,“以前总听说学习面向对象有三大特性很重要,原来这就是继承呀! 那具体到这个案例如何实现呢?”于是,和学生一起设计一个所有鸟类的父类Bird,由它来实现共同的属性和方法。如图2所示。

⑸ 问题进一步升级。Jack看了看,“嗯,继承的使用可以提高编码的效率,但是我还是感觉有点问题。”

Joe说,“当然有问题啦,三种鸟类共用Quack方法,这将导致三种鸟类的叫声相同,这怎么可能呢?”

Tom,笑了笑,说:“我还有Virtual这个法宝没使用呢,接着往下看…”。这里将学生的兴趣吸引到下一个问题,虚函数的使用。

⑹ 总结教学内容。①继承的基本概念。②它的使用条件以及优缺点。

⑺ 教学效果的检测。分析传统教学方法和情景案例教学法学生学习效率的实验数据。其中传统教学法的班级编号为1,情景案例教学法的班级编号为2。

3 总结

在面向对象程序设计课程的教学过程中,对计算机相关专业的学生采用本文所述的实践教学方法后,激发了学生的学习兴趣,让学生主动参与教学环节,在学习过程中获得成就感,学习效果较传统的教学方法效果更好。学生多次在计算机作品大赛上获奖,获奖等级也越来越高。并且,每年通过国家软件技术资格和水平考试的人数也逐年上升。

我们也看到其中的一些不足,情景加案例的教学方式加强了学生对教学模块内的知识点的掌握,但各教学模块之间的联系不紧密,不能够将学生所学的知识点串联起来。如何将所有的知识模块统一到我们的教学方法中来,将是我们下一步研究的重点。我们相信只要我们意识到这些问题的存在,抓住关键问题,充分发挥自己的主观能动性,根据学生的具体情况进行具体分析,进一步调整教学方法,就一定能收获更好的教学效果。

参考文献(References):

[1] 王颖,张金磊,张宝辉.大规模网络开放课程(MOOC)典型项

目特征分析及启示[J].远程教育杂志,2013.4:67-75

[2] 杨瑞龙,朱征宇.引入软件设计模式的面向对象程序设计教

学方法[J].计算机教育,2012.10.

[3] 张连民,黄春秀.成人学习内驱力的构成及影响因素分析[J].

北京教育学院学报,2011.3.

[4] 吕生荣,张丽萍.Visual Basic程序设计教学研究与实践[J].内

蒙古师范大学学报(教育科学版),2012.9.

[5] 于忠海.案例教学应用于新课程的价值与实施策略[J].天津

师范大学学报(基础教育版),2004.4.

[6] 殷士勇.基于现代教育技术的情景教学实践——以盐城工业

职业技术学院计算机基础课程群教学为例[J].辽东学院学报(自然科学版),2013.4.

猜你喜欢

理论教学案例教学情景教学
和谐教学法在高校思想政治理论教学中的实践与探索
谈外科学教学的几点体会
模拟情景 重在参与
有效创设“情景”以促进小学数学教学效果提高
嵌入式系统课程“中断、异常与事件”教学实践及启示
运用情景会话构建高效的初中英语课堂教学
案例教学在机械创新设计课程中的应用
马克思主义基本原理概论课案例教学的几点思考
情境教学在语文课堂的应用浅探
EXCEL在《投入产出法》案例教学中的应用