案例教学法在“面向对象程序设计”课程中的运用

时间:2022-08-17 08:34:28

案例教学法在“面向对象程序设计”课程中的运用

摘要:案例教学法作为一种具有启发性和实践性的新型教学方法,在很多学科教学中有广泛的应用,通过在面向对象程序设计课程中的运用,使学生在学习知识的过程中体会到真正的面向对象的系统开发过程,极大提高了学生的学习兴趣和主动性,对培养学生的动手开发能力和提高学生的综合素质,具有良好的效果。

关键词:案例教学法;面向对象程序设计;自主学习;教学改革

中图分类号:G642文献标识码:A文章编号:1009-3044(2011)07-1703-02

The Application of Case Study in Object-Oriented Programming Course

SUN Yu-hong

(School of Computer Science, Qufu Normal University, Rizhao 276826, China)

Abstract: Case study is a novel teaching method with the characteristic of suggestion and practice, and is popular in many subjects teaching. It has acquired good results in motivating the students' interests and building up the ability of software development by the application in object-oriented programming course to lead to students joining up the development of a system.

Key words: case study; object-oriented programming; initiative in study; teaching reform

面向对象程序设计作为计算机类专业的基本课程,在计算机教学过程中一直占有重要地位,它是培养学生的开发能力与创造性的重要课程。随着当前软件业的发展,对软件人才提出了更高的要求,程序设计教学的成败直接关系到学生创造能力的培养,关系到学生是否能够适应市场的需求。由于面向对象本身是一种软件开发的理念,案例教学法符合面向对象程序设计教学的需要,是一种有效的教学形式。

案例教学法是一种以案例为基础的教学法(case-based teaching),案例本质上是提出一种教育的两难情境,教师扮演着设计者和激励者的角色,鼓励学生积极参与讨论和实践。相比传统的教学过程中,教师讲学生练,教师示范学生模仿,知识逐项讲解过关的陈旧教学模式,在面向对象程序设计课程中,我们运用案例法,使整个教学过程成为学生参与设计、实现和测试的过程,极大促进了学生的知识整合与实际技能的形成,对于提高教师教学观念和提高教师素质都起到很好的效果。本文以面向对象的编程语言Java为例,主要从课程内容组织和案例选择,案例实施和课程考核方面探做了一些探索。

1 课程内容的组织和案例的选择

对教学内容的组织,必须考虑到学生的实际水平。通常,学生在学习面向对象的程序设计之前已开设C语言课程,已经具有简单的编程基础,但还不具备处理复杂问题的编程能力。根据学生的水平,在课程内容的组织和案例的选择上必须考虑到难度适宜,不能太难,使学生感到畏惧,同时又不能太简单, 由于学生具有一定的基础,而失去探索和学习的兴趣。

在教学过程中,我们本着“深入浅出,突出实用”的指导思想,对教学内容重新进行了归纳,达到学以致用。因为学生具有一定的编程基础,我们不在一些容易理解的语法方面多花时间,以免学生感到冗长。面向对象编程的理念是是课程的重点,对学生也是比较新的,必须从概念的理解到编程的方法上进行深入的学习,使其从思想上做到融会贯通,举一反三。

在案例的选择上,我们认为案例是为教学目标服务的,因此它应该具有典型性,且应该与所对应的理论知识有直接的联系。所选的案例,除了要难度适宜之外,还要有适当的梯度,遵循循序渐进的学习原则,教师要考虑案例的难度,知识点的含量,前后之间的联系以及与其他学科的关系等因素,使案例的实施过程成为学生逐步掌握知识和掌握技能的过程,保证大部分学生能通过自己的努力 、通过与同学的协作和老师的指导完成。除了上述目的性,还要注意案例的生活行和生动性,生活中的事情往往是人们比较关心的。因此,引用的案例最好是现实生活中发生在学生身边的事情,不能是遥不可及的。而且,案例最好做到生动、引人入胜,这样才能引起学生的兴趣,以便展开深入的讨论。为此,在准备案例上,教师一定要亲身经历,深入实践,采集一些具体可行的案例。

常见的一些案例,如开发一种游戏,如三子棋游戏,五子棋游戏,开发一些信息管理系统的前台,特殊数据结构的实现等,都是一些生活中常见到,而且有具体意义的应用,而且与学生所要学习的知识点关系密切,都是一些可选的案例。当然案例不是一成不变的,即使对同样的教学内容,随着市场的发展和企业的需求,这些案例也是经常变化的。这些都需要教师在课程内容的组织上做好工作。

2 案例的实施

程序设计本身作为一门理论和实践相结合的课程,面向对象程序设计更强调了采用面向对象的思想解决问题。对象本身是和人们的真实生活关系更密切的一个概念,我们在教学过程中运用案例法,学生接受起来并不困难。这样使学生带着问题学习,自主操作实施案例的设计与开发,不仅培养了学生的实际动手能力,同时提高了学生的分析问题解决问题的能力。案例实施整个过程使学生基本完成一个软件系统的开发过程。具体实施过程如图1。

首先,教师讲解案例。教师有目的地选择案例进行讲解,包括系统需求,系统完成的功能。通过创设情境,使学生对系统有一个初步认识,充分调动学生参与的积极性,进一步明确学习的目标。然后,根据老师的讲解,让学生参与系统的需求分析,可以到相应的企业调查,请有开发经验的人员开设讲座,分析系统需求可能遇到哪些新知识技能。只有学生对系统的结构,知识点,以及可能遇到的问题分析理解清楚了,才能制定出切实可行的计划,因此在该环节结束时,要求学生提交系统的分析报告,以考查学生对系统的理解程度。

然后根据具体的实验条件,对学生分组,主要考虑实验室的硬件配置和学生人数的安排,尽可能使学生在小组内形成互补,以利于学生之间讨论和学习。小组成员应有明确分工,防止出现依赖思想,一般每个小组选出一名组长,负责整个项目的开发过程。学生分组后,要对系统进行概要设计,根据系统的需求,明确系统的输入输出流程,初步确定系统的界面, 以及采用的开发框架。

接下来是案例的具体开展,即系统的设计和实现。在这个阶段,我们采用的教学方式与传统教学方式有所不同,教师应注意把握以下几个问题:让学生把教材当作参考,同时推荐手头具备另外的参考书,以备在开发过程中查阅参考。当学生在开发过程中遇到困难时,引导学生返回教材学习相应的知识,培养学生自主学习的能力;同时,教师从传统的知识的传授者转变为开发活动的引导者,指导者和协作者,如引导学生展开讨论,指导学生采用新的思想和方法,协助学生制定系统的实施计划,对开发过程的困难进行指导等。教师的作用更多地体现在对系统开发过程的引导和控制上,最后在教学中,教师要注意学生之间的协作能力和自主学习能力的培养,引导学生参与到系统开发的全过程中来,协助学生制定时间进度,明确小组成员的任务,请小组长对开发过程作详细记录,并进行评比,用责任感和成就感来激励学生参与的积极性,尽可能使学生体会的开发的乐趣和过程。

在学生进行系统开发时,教师要注意抓住几个关键环节来实施:1) 平台的选择,以Java SE为例,可用的开发工具有JCreator,Editplus,等,让学生自主选择所用的开发平台。每一种平台的用法有一些差异,学生可以在使用过程中慢慢熟悉平台的界面和使用方法。2) 课堂教学,在系统开发过程中学生会遇到困难,通过自主学习不能解决的问题,这时就需要传统教学环节,这个环节分散在系统开发的各个具体过程和反馈环节中。教师要定期让学生反映所遇到的问题,进行分类,并根据重要程度和对解决该系统的重要性进行集中讲解,为系统开发的顺利进行提供条件。通过这个环节,使学生能够进一步理清知识点之间的关系,帮助学生构建一个较完整的知识体系。3) 具体开发,主要是编码和调试。每个小组按计划分工,采用面向对象的思想完成各个功能模块,并组合成完整的系统,初步形成系统的原型。4) 调试和测试,对小组成员重新分工,每个成员作为其他人的测试人员进行功能测试,同时请其他小组成员对系统功能测试。对其中发现的问题进行详细记录,并一一完善。

系统的评价和总结阶段。要让学生在享受成功的同时,通过客观的评价,包括教师的评价,小组的评价,组内的评价,自我评价,全面认识自己的成绩和不足,逐步渗透和培养学生的责任意识,培养学生良好的品质。在这个阶段,教师要重视以下几个问题:1) 作品展示,请学生对同学和老师展示作品,并对设计的思路,过程,采用的算法,设计的类和对象等进行阐述表达。使学生在体会开发的乐趣的同时,学习到其他人的开发经验和心得。2) 作品评分,对每个作品进行打分,有教师打分,小组打分,小组成员打分,进行不同比例的综合评价,对表现不好的作品指出改进的方向,鼓励学生进一步完善系统。

3 课程考核

运用案例教学法,为了调动学生动手的积极性,我们放弃了传统的期末“笔试”这种单一的、“一考定终身”式的考核方式,采用了复合考核的方式,并加重了对学生开发实践的考核分量,使学生对知识的掌握不是“知不知道”,而是“会不会做”,强调了学生的开发能力。实践证明,这种考核方法不但能更客观地反映学生的学习情况,同时对促进学生学习起到良好的教学效果。

4 教学效果

通过近几年的教学实践发现,运用案例教学法在面向对象程序设计课程中,使得学生逐渐具备真正的软件开发能力,不仅仅锻炼了动手能力,对分析问题,设计和测试能力都有一定程度的提高,学生的协作意识也有提高。学生在做毕业设计中,不再是草率应付的态度,而是充满了探索和开发的兴趣,设计作品的水平有了较大改进。学生在软件设计水平上大大提高,在一些设计大赛,如我们学校组织的学术节,省内举办的软件设计大赛,以及其他一些系统设计如全国嵌入式开发大赛上获奖的人次显著增多,奖项等次显著提高。

5 小结

案例教学法在培养学生的动手操作能力和综合应用各学科知识解决实际问题的能力方面具有非常良好的效果,通过在面向对象程序设计课程中的运用,极大提高了学生学习的自主性和积极性,随着教学改革的开展,我们将进一步探索案例教学法在其他相关的计算机类课程中的运用。

参考文献:

[1] 徐延宇.案例教学及其运用[D].长沙:湖南师范大学,2002.

[2] Y.Daniel Liang.Java语言程序设计[M].5版.北京:机械工业出版社,2004.

[3] 詹自胜.案例教学法在面向对象程序设计教学中的探索与实践[D].金华:浙江师范大学,2006.

[4] Bruce Eckel.Java编程思想[M].陈昊鹏,译.北京:机械工业出版社,2007.

[5] 肖云波.计算机程序设计教学应用案例教学法初探[J].中国科教创新导刊,2008(3).

[6] Daniel Liang Y.Java语言程序设计 基础篇[M].6版.机械工业出版社,2009.

上一篇:具有全局收敛性的求解非线性方程组的新方法 下一篇:Struts框架技术在J2EE中的应用