基于项目开发的面向对象方法课程教学新模式

2014-06-19 01:10甘玲
计算机教育 2014年4期
关键词:教学模式

甘玲

摘要:分析传统面向对象方法教育模式的不足和教育模式改革的可行性,阐述以项目案例启发为教学模式、项目开发小组为组织形式、“多元复合”的交流方式、分级分形式的考核方式等为主要改革内容的项目开发教学新模式。

关键词:面向对象方法;教学模式;项目案例教学;项目开发小组

0 引言

面向对象方法是当今软件开发过程中的主流疗法,它使软件开发的过程与人类认知问题的过程保持一致,从而为计算机业内人士所重视,这也使面向对象方法这门课程成为各大高等院校理工科类研究生选课的热点。此课程旨在培养学生构思、设计与实现软件产品/系统的工程能力与技能,是一门实践性极强的工程课程。然而在面向对象方法的教学实践中也遇到了与其他软件开发教学方法相同的问题,其中最为突出的就是理论脱离实践,学生总是感觉纵有满腹理论也做不出一个完整的系统。为了解决这个问题,笔者在分析传统教学模式的不足和改革可行性的基础上,提出一种以项目开发小组为组织形式的项目开发教学新模式。其中,项目案例启发教学是此模式的核心,试图围绕真实项目进行教学,课下鼓励学生进行项目实践,以项目小组的形式讨论、分析和设计一款实用的软件产品,融理论(面向对象方法)于软件开发实践中,切实提高研究生的编程与项目开发能力。

1 传统模式的不足

现阶段,在面向对象方法的教学过程中,多数教师依然采用传统的教学方法,而传统教学模式已经暴露出许多不足,主要表现为以下几点:

(1)大班形式授课,教师仅注重理论和方法的讲授,无暇顾及面向对象方法的应用,沿用小科的那一套“教师上面讲,学生下面听”的填鸭式教育模式,严重阻碍了学生创新和思考能力的发展,很难达到课程的目标。

(2)学生基础参差不齐,没有处理好面向对象方法与语言以及方法和应用的关系,教学中,教师要么仅重复本科教学内容,强调面向对象讲言,对基础差的同学来说有一定收获,但不符合研究生教学的要求;要么只介绍面向对象方法理论,教学显得空洞,学生收获甚微。

(3)考核方式不够灵活。有些学校采用笔试形式,虽然能够考查学生掌握理论知识的情况,但它的弊端也显而易见,那就是笔试的标准与实际需求的标准不一致,而且把一门实践性很强的软件开发方法的课程上成了一门死记硬背的文科课程;有些学校采用提交课程论文,学生自己收集资料,结合面向对象方法完成一篇论文的考核方式,而学生作业多数是将网上的资料进行复制、粘贴而成,也未能达到课程教学目标。

传统教学模式存在的上述不足所导致的问题就是理论脱离实际,使学生往往能在笔试或课程论文中取得比较优秀的成绩,却不能解决实际问题。这并不是教学的初衷,不符合课程目标,也不符合社会的需求。

2 改革的可行性分析

案例教学是在学生掌握了有关基本知识和分析技术基础上的一种教学方法,符合研究生面向对象方法课程的教学。现在大部分理工科研究生在本科期间学习了某种编程语言,在此基础上,教师通过项目案例来介绍面向对象方法,并通过对比面向对象和面向过程来讲解前者的主要思想、特征及其优势。在语法方面,教师只需围绕某个典型问题做一定讲解即可,这就为后面项目案例的重点讲解分析留出了足够的时间。

邀请软件公司来校开设软件开发相关讲座也为此模式的实施提供了有利条件。学生一边接受课堂讲解,一边听取企业实际项目开发的相关知识,同时自己动手实践,这样才能真正做到理论联系实际。

研究生期间,学生主要靠自学,这也是研究生的一项基本要求。基于上述条件,新的教学模式能够得以实行。

3 新模式的主要内容

为了弥补面向对象方法课程传统教学上的不足,需要进行教学模式的改革,笔者提出一种新的教学模式,即以项目案例启发教学模式为主导的分类教学,融理论于实践应用环节,在掌握面向对象方法的基础上突出培养实践应用能力;以“项目开发小组”为主体,突破课程实验瓶颈,强化学生实践应用能力,培养学生从学习到研究的思维模式转换能力;以“多元复合”方式加强师生有效沟通,利用丰富的网络课程资源拓宽学生的知识面和技能,提高学生兴趣和学习效率;实施分级分形式的考核方式。为了更具体地介绍此模式,笔者将以重庆邮电大学开设的面向对象方法课程为例展开介绍。

3.1 项目案例启发教学模式为主导

项目案例启发教学的宗旨是以一个实际的、完整的项目案例为线索,融理论(面向对象方法)于项目案例之中,启发学生从面向对象方法的分析、设计到实现,做一个全面、系统的训练。同时,对项目开发要注意的思路、流程、组织、方法、技巧等方面进行综合指导,突出培养学生计算机应用能力和项目开发思维能力。教师应预先建立相应的项目案例程序,按照螺旋式递进关系适当分解、细化,并以分解后的子任务为线索展开教学。

针对学生的基础不同,教师可以改革现行的班级设置,按照学生编程基础及兴趣进行设班,根据学生的情况来安排教学内容和教学形式,也可根据学生的需求分为Java、VC等语言的教学班。

面向对象方法需要通过语言来实现。一方面,语言是工具和基础,应用必须用语言来描述;另一方面,应用是结果,是语言的价值归宿,语言的表达能力又要通过应用来体现。由于研究生的编程基础参差不齐,有很多非计算机专业的学生,这就需要学生在课下自己解决编程基础不足的问题,同时也培养了研究生基本的自学能力,而在课堂上教师主要是借助面向对象语言和项目案例介绍面向对象方法,与研究生一道讨论项目的整个开发过程,内容包括需求分析到最终的实现。

与此同时,学校可以邀请软件公司项目开发技术人员来校开设相应的项目开发流程讲座,这样能够让学生了解一线开发的情况,了解整个项目开发过程中的流程、常用工具和可能需要的知识,从而让学生有针对性地学习所需知识,而不是笼统地、无目的性地学习一门语言。同时,这样做的好处还有,让学生学会为了解决特定问题而学习相应技能的能力,这将有助于学生自主性的培养。endprint

3.2 “项目开发小组”为主体

通过项目案例启发教学模式,学生能基本掌握理论知识点的应用和项目开发的基本方法和流程,但是仅限于此是不够的,必须将其运用到实际项目案例的开发与实践之中,才能真正达到教学目标。教师应以项目开发为手段,培养学生自主学习及研究的思维能力。

因为面向对象程序设计方法对编程者的系统观念、全局观念要求较高,而且在面向对象的软件开发过程中,对团队协作能力要求也较高,所以建立项目开发小组是一种突破以往传统教学实验的新思路。主要思想是对全班学生按照专业、项目、兴趣,采用自愿组合的原则进行分组,以2~4人为一组,每个小组负责一个项目程序的开发,将理论知识综合应用到项目的实际开发之中,提倡结合自身专业和所在研究所或实验室的需要拟定课题。从项目分组到项目答辩的具体流程如图1所示。

其中,在项目案例讨论之前,学生要完成项目分组,并着手准备申报项目,项目的申报应该在需求分析结束之前完成,这样可以使学生的项目进度与项目案例的讲解进度一致,其好处在于学生可以在学习案例的同时,将案例中的方法运用到自己的项目当中,到最后也跟着案例走完了自己项目开发的流程,真正理解项目开发的整个过程。

同时,教师可以结合本人的相关研究体会,把研究的思路、方法、技术路线和发现、解决问题的方法进行归纳传授,培养学生项目实践和科学研究的能力。不仅如此,教师还应从研究方法、思维模式、专业深度和广度等方面加以引导,让学生了解研究生阶段的课程学习方法。

3.3 “多元复合”方式加强师生有效沟通

多元化的教学方式可以提供给学生多种多样的沟通方式,不同的方式适合不同的学生,这样可以充分发挥他们的优势,如建立网络辅助教学平台、BBS电子布告栏、面向对象交流QQ群、电子邮箱等。教师课上采用项目案例式教学,课下提供网络资料帮助学生自学,充分发挥学生的主观能动性,调动学生的积极性,提高学习效率

为了满足研究生个性化需求,课程组建立了一个课程网站,框架如图2所示,网站上可以展示学生的优秀作品,供其他学生学习;学生可以在交流区中交流开发经验,相互帮助解决问题,老师也要参与其中;在答疑解惑区(类似百度知道)中,学生可以通过积分悬赏提问,其他同学回答问题赚取积分。学生在网站上的其他活动都能赚取一定的积分,这是学生自主学习的体现最后,学生所持积分将参与期末考核,在成绩中占有一定比例。

3.4 实施分级分形式考核方式

教师配合教学目标,根据学生实际情况,制订考核方式及评价指标。强调项目开发的过程要求学生掌握基本的面向对象方法,并能与专业结合、与项目结合,分析、设计、实现一个面向对象系统;要求提交选题报告(期初)、进展报告(期中)和课程报告(期末),报告阐述开发的过程,包括面向对象软件的分析、设计、实现过程,并着重阐述面向对象技术在其中的应用,要求学生附上程序代码及运行界面截图,按照1:3:6给出报告成绩并作为基本成绩。学生最终成绩包括基本成绩和考核成绩(4:6)。

考核成绩评价机制实施分级分形式的考核方式。学生通过项目答辩才能获得优秀,并且被鼓励做宣讲示范;其余学生最多获得良好成绩。

综上所述,较之本科生,该课程研究生阶段的教学在教学内容、教学要求、教学形式、考核评价等方面都有很大的不同。本科生主要学习计算机语言,能编写和调试一些基本的程序,而研究生在理论方法上要求更高,要求研究生站在系统的高度运用方法论来实现。另外,我们要求研究生掌握面向对象方法,并能与专业结合、与项目结合,达到系统分析、设计与实现的目标。

4 结语

经过研究与实践,笔者在面向对象方法课程教学中运用此模式,很好地达到了预期目的。通过理论结合实践,学生从宏观上理解了软件开发方法,提高了编程能力,尝试了团队分工合作,了解了软件开发的流程,真正能够运用所学知识完成一个实际需求,为以后研究工作或实践应用奠定了良好基础。

参考文献:

[1]姜春艳,吴克寿.CDIO工程教育教学模式在00AD课程教学中的探索与实践[J].计算机教育,2010(7):24-29.

[2]徐红云,李仁发.信息类研究生教育现状研究与改革[J].计算机教育,2006(10):35-37.

[3]陈优良,李恒凯,徐昌荣.案例教学法在面向对象程序设计课程中的应用探讨[J].新课程研究,2010(4):54-55.

[4]杨朝霞.以螺旋式案例实施面向对象程序设计教学的研究[J].计算机教育,2010(3):116-119.

[5]张丽华.面向对象程序设计教学方法研究[J].嘉兴学院学报,2005,17(3):47-49.

(编辑:孙怡铭)endprint

猜你喜欢
教学模式
群文阅读教学模式探讨
“思”以贯之“学、练、赛、评”教学模式的实践探索
基于深度教学的高中数学新授课教学模式的探索与实践
新工科背景下项目推动式教学模式的探索
创新线上英语教学模式的思考
高中英语美文阅读USE教学模式的应用探究
借力大数据分析 创新“三位一体”思政课教学模式
高中英语“读写学思”教学模式探索与实践
“认知-迁移”教学模式在高年级阅读教学中的应用
“先学后教”教学模式在复习课中的应用