APP下载

面向对象程序设计课程教学改革探析

2011-03-18范振钧王建秋通化师范学院计算机科学系吉林通化134002

通化师范学院学报 2011年4期
关键词:面向对象程序设计驱动

范振钧,王建秋(通化师范学院计算机科学系,吉林通化134002)

面向对象程序设计课程教学改革探析

范振钧,王建秋
(通化师范学院计算机科学系,吉林通化134002)

该文分析了面向对象程序设计课程的特点及传统的教学方法的主要不足,探讨了任务驱动教学方法和智能考试系统在面向对象课程的实施与应用.

任务驱动;教学改革;智能考试系统

1 面向对象程序设计课程特征及传统教学存在的主要问题

1.1 面向对象程序设计课程的特点

面向对象程序设计课程是计算机科学专业中一门重要的专业基础课,它的主要目的是培养学生熟练地使用面向对象的语言,比如c#、Java等工具,开发出各种各样需求的应用软件.理论性强,注重应用,突出实际动手能力,是其重要的本质特征.

1.2 多媒体课堂教学方式不利于学生创造能力的培养

教师上课采用多媒体教学,把事先准备好的教学课件播放一遍,对其中重要的理论部分再口述强调一遍,然后布置课后作业.课堂上基本是教师在唱独角戏,学生在课堂上只是把教师讲的内容从头到尾浏览一遍,把教师灌输的理论和方法在大脑中记忆下来,学生按照老师的讲授速度被动地学习,缺少了自己独立思考过程,不利于培养学生的创造能力.1.3考试方法与教学要求不一致

面向对象课程以往的考试方法是教师出一套笔试试卷,这样的笔试试卷只能考核基本知识,缺乏对学生实际动手能力的考核,违背了面向对象课程的实践含义,更与面向对象课程的教学要求不一致.学生学好这门课的关键是能够用该门课程所学知识,设计出性能良好的软件,有些细节知识即使没有掌握,也能在软件设计过程中逐步了解,几乎对整体学习不会造成影响.然而,传统的考试形式却恰恰引导学生花费太多的时间和精力去死记这些细节知识.

2 改进教学方法的两项措施

2.1 采用任务驱动教学法

“任务驱动”教学方法是一种建立在建构主义学习理论基础上的教学方法,它将传授知识为主的传统教学转变为以解决问题、完成任务为主的多维互动式的教学.“任务驱动”方法符合人类的认知规律,注重以学生为主体,在培养学生的专业能力的同时,也提高了学生的应用能力.将学习内容与具体问题相结合的“任务驱动”教学方法可以解决面向对象课程面临的困境.在面向对象课程中使用任务驱动教学方法,就是在一个典型的“任务”的驱动下展开教学活动,引导学生由简到难、循序渐进地完成一系列“任务”,从而得到清晰的思路、方法和知识的脉络,在完成“任务”的过程中,培养分析问题、解决问题的能力.在整个教学过程中,学生会不断地获得成就感,可以极大地激发他们的求知欲望,逐步形成一个感知心智活动的良性循环,从而培养学生独立探索、勇于开拓进取的自学能力.按照任务驱动的方法,我们在教学中按照以下几个步骤进行教学,取得了较好的教学效果.

(1)任务分解.以一个具体的车辆管理系统软件的设计为例,进行任务分解.把实现车辆管理系统所需的所有知识、方法分门别类划分为六个子任务,按照知识的内在逻辑,六个子任务及其包含的知识如下:

子任务一:常用语法规则,内容涵盖.net基本理论,选择结构、分支结构、常用语句.

子任务二:机动车类的设计,内容涵盖字段、属性、方法、构造函数、方法重载.

子任务三:数据库访问类的设计,内容涵盖ado.net、数据提供程序、dataset、sql语法.

子任务四:界面设计,内容涵盖各类控件、组件的使用方法.

子任务五:轿车类的设计,内容涵盖继承、多态、抽象.

子任务六:中间访问层的设计.内容涵盖:多态、接口、泛型.

对每一个子任务按照其包含的内容再进行进一步的分解,形成各个具体的任务,教师根据任务的要求形成具体的案例.这样一来,通过这些任务就把一个个零散的知识点串在一起,让学生在完成任务的过程中充分消化理解每一个知识点,实现了理论与实践的完美结合.

(2)案例教学.教师对上一步形成的每一个任务,都要亲自动手设计好具体的案例.然后在实际教学中对每个案例都要现场实地演示,给出详细步骤和关键代码.这样教师上课就可以做到有的放矢,把理论和应用结合起来.学生在案例中不但学习了“死”的知识,更加学到了“活”的知识应用.在案例设计中要为学生创造一个仿真环境,使其在课堂上能接触到实际软件问题和环境,这样有助于学生实践能力的提高,为其今后从事软件开发打下坚实的理论和实践基础.同时,应邀请有丰富经验的教师及软件公司的资深软件工程师来编写案例和讲述自己基于C#语言开发过的项目经历和实际工作.

(3)实战演练.在对基本理论和基础知识进行案例教学后,给出一个相关的实例任务“实战演练”,完成“从扶着走”到“自己走”的过程.这部分内容可以在实践课程中让学生独立完成,让学生带着任务学,以解决实际问题为主要目的.在解决问题中,把一些比较难的理论进行消化理解,从而实现教师的教学目标,体现“学中做,做中学”的教学理念.在进行实战演练题目的设计时应该在题目中隐含一定的难点和重点内容.

实战演练设计举例:

任务名称:登录表单的设计.

任务要求:制作一个车辆管理系统的登录界面.

内容涵盖:Form、commandbutton、textbox、Label、errorprovider组件、数据库的查询.

任务要求:掌握上述控件和组件的具体的实用方法及数据库的访问技术.

经过上述几个步骤,学生被任务深深吸引,产生了浓厚的兴趣,经过教师的启发引导,学生在兴趣的带动下对问题进行了分析,给出了解决方案,完成了新知识的建构,再通过实战演练,对知识进行巩固和提高.

2.2 引入智能考试系统

在长期的教学实践中我们发现仅通过一张纸质的试卷,只能考核一些需要记忆的语法、语句等理论上的东西,但是对学生应用能力的测试就力不从心了.为此我们开发了一套智能考试软件,该软件不但有选择、填空等一般性识记类型的题目,更有程序填空、程序设计等考核学生具体的应用能力的题目,可以完成智能出题、智能组卷、智能批卷等功能.通过该软件可以考核学生的理论知识,更可以检测出学生的实际动手能力.智能考试系统还配有学生自主练习系统,学生安装了软件后,可以随时通过软件进行智能测试,并通过软件自动提供的答案信息进行自我练习.考试系统即方便了教师的教学、考试,又充当了学生的学习帮手.

(1)智能考试系统在实践教学环节的应用.在实践工作中开发的面向对象的考试系统,对c#等面向对象程序设计语言编写的程序可以实现智能编译、智能评分.利用考试系统的这一特性,可以在学生的上机实践课程中,布置好和案例相关的作业,让学生通过考试系统练习.由考试系统对学生的答案进行智能评分,学生可以把自己的答案和系统给的标准答案相比较.几个任务结束后,学生能够较好地掌握课程的基本内容.

(2)智能考试系统在考试环节的应用.改变以往一次性考试的方式,通过软件的智能测试,可以实现阶段测试.可以按章节、按任务类型随时考试或者练习,让学生通过实际的软件上机测试,找到自己的差距,教师也可以根据学生的考试结果,了解学生知识的掌握情况,随时调整自己的教学内容.阶段测试可以在经过一段时间的学习后,把多个任务集中在一起进行测试.通过智能考试可实现对识记的知识点的考核,更加注重考核学生的实际动手编程能力.

任务驱动的教学方式非常适合面向对象程序设计课程的教学,我们在日常理论课和实践课的教学中引入了任务驱动教学方法,在实践课和考试环节方面开发了一个智能考试和练习系统.通过任务驱动教学方法与智能练习系统的结合,改进传统的面向对象课程教学模式,提高了教学效率,改变了面向对象课程教学的困境.

[1]蒋秀玲.任务驱动教学法在Dreamweaver教学中的运用[J].通化师范学院学报,2009(10).

[2]宋丽.任务驱动教学法在大学计算机基础教学中的探索[J].电脑知识与技术,2009(7).

[3]黄超.基于任务驱动方法的C语言程序设计教学探究[J].枣庄学院学报,2008(5).

[4]王平,柴晟.c#程序设计语言任务驱动式教学[M].北京航空航天出版社,2008(9).

(责任编辑:岳朋)

G642.0

A

1008-7974(2011)04-0077-02

2010-10-10

范振钧(1968-),男,吉林通化人,硕士,通化师范学院计算机科学系副教授.

猜你喜欢

面向对象程序设计驱动
基于模糊PI控制的驱动防滑仿真系统分析
屈宏斌:未来五年,双轮驱动,砥砺前行
基于Visual Studio Code的C语言程序设计实践教学探索
轨旁ATC系统门控柜接收/驱动板改造
从细节入手,谈PLC程序设计技巧
高职高专院校C语言程序设计教学改革探索
基于S3C6410的Wi-Fi驱动移植实现
面向对象Web开发编程语言的的评估方法
峰丛洼地农作物面向对象信息提取规则集
基于面向对象的车辆管理软件的研制与开发