基于“项目驱动”的教学研究与探索

时间:2022-09-03 10:41:17

基于“项目驱动”的教学研究与探索

摘要:本文针对开发类程序设计课程的特点与教学现状,提出了一种基于“项目驱动”的实践教学方法。在说明该教学模式特点的基础上,对其进行了可行性分析,并对项目驱动的实践教学过程进行了研究与探索。

关键词:项目驱动;实践教学;面向对象;生命周期开发方法

中图分类号:G642文献标识码:B

文章编号:1672-5913(2007)08-0025-03

1 引言

在开发类程序设计课程中,最适合初学者学习的便是Visual Basic(简称VB),它是第一个可视化编程开发工具。就VB本身的特点而言,它概念多、实践性强、涉及面广,既像其他程序语言一样有其自身的语法和编程思维,又与传统的面向过程的驱动语言有所不同,最特别的在于它采取的是面向对象的事件驱动编程。传统的程序语言教学通常以知识点的层次递进为体系。对于VB程序设计而言也是这样,它就是按照VB代码基础、程序基本结构、数组、过程、控件、文件、数据库等知识点层次递进方式来展开教学的。在学习每个知识点时,用一定的例题对知识点进行练习(其他开发类课程,例如PowerBuilder、Delphi等也有类似特点)。这种层次递进的学习体系总体来说是符合人的认知规律的,但在VB的教学过程中,我们发现确实存在一些缺陷:

1.1 对知识应用缺乏整体感

在层次递进的知识学习过程中,无论是理论知识的学习还是实际应用,通常都是面向局部的,这很容易使学生缺乏整体感。就像描绘一幅人的肖像一样,如果只顾描绘各个部位,没有整体的协调和统一,就无法完成一幅令人满意的作品。如果按部就班地学习VB程序设计的各个知识点,而没有依托一个完整的实际项目,就会使知识点的学习支离破碎,不成体系,学完以后也容易遗忘。

1.2 缺乏实际项目的开发体会

在层次递进的知识学习过程中,强调的是各个局部知识的理解和掌握,而忽视了这些知识的综合利用,忽视了学生利用知识描述和解决实际问题能力的培养。试想,如果医学院的学生只学习理论知识,而不去临床诊断,不去学习如何综合地考察一个病人,那他是做不了医生的。同样,学习VB程序设计,如果只停留在知识点的学习和例题的练习上,而不去经过实际项目开发的历练和体验,就无法直接感受所学知识在实际工作中的作用和地位。这种学习还会抑制学生的学习兴趣,影响学习效果。

2 项目驱动教学法

项目驱动教学法是指在教学中引入若干个项目案例,按照实际软件开发中的方法与步骤展开教学。

软件项目开发的主要方法有:传统的生命周期的开发方法、面向对象的开发方法、可视化的开发方法等。因为VB本身是面向对象和可视化开发的典型工具,学生通过整个课程的学习会逐步认识面向对象和可视化开发方法的主要特征,所以我们采用的项目驱动教学法还是选择了学生比较容易接受的传统生命周期软件开发方法作为教学设计的主线,其间再贯穿介绍面向对象和可视化的软件开发方法。

传统的生命周期开发方法把软件开发周期划分为若干个阶段,每个阶段有相对独立的任务,然后逐步完成每个阶段的任务。各个阶段的工作按自上而下,从抽象到具体的顺序进行,传统的生命周期开发方法可以用如图1所示的瀑布模型来模拟。

3 “项目驱动”教学模式的特点

3.1 创造项目实践环境

在“项目驱动”教学过程中,学生在导师的带领下,一边进行专业理论知识的学习,一边进行实际的应用项目开发。学生一直处在能主动学习、自主学习、相互学习、积极沟通、不断实践的学习环境中。学生在实际软件项目的驱动下,带着问题学习理论知识和开发技术,学习导师在项目实践中的思维能力、问题求解能力和处理复杂任务的能力。通过这个教学过程,学生的专业技能、开发素养将随着问题的求解和任务的完成得到整体提升。

3.2 教师成为导师

基于“项目驱动”的教学把知识转化为理论和技能相结合的教学方式,在这种教学方式下,教师不再是知识和理论的简单灌输者,而是发挥着导师的作用,循序渐进地引导学生在实践中学习理论,在实践中消化理论,应用理论,在实践中掌握知识。在工作室中,学生按项目被分成若干小组,各小组的活动在导师的指导和监控下进行。在项目驱动教学中,教师首先扮演着“信息库”的作用,学生接受项目后,教师除随时给学生补充必要的理论和技能知识信息外。更重要的是在整个项目开发过程中,适时启发、解决学生在学习和实践过程中存在的各种个体问题,激发他们的学习和创造热情,引导学生尽快进入角色和状态。帮助学生明确项目的目标,掌握理解项目开发的总体思路和全部过程。

3.3 强调能力的培养

基于“项目驱动”教学的主要目的是加强学生软件应用开发能力的培养。通常,实践性知识是一种隐性知识,我们倡导“项目驱动”教学正是希望通过“项目驱动”教学过程中的诸项要素和功能,使得一些隐性的思维过程,特别是隐藏在软件开发过程中的一些核心要素和策略显性化,而这些往往正是软件开发核心能力的重要体现。通过软件工作室的学习,学生将逐步具备软件应用开发的各种基本能力,系统维护和配置能力,团队合作精神,使我们培养的学生真正实现与社会无缝连接。

4 实施“项目驱动”教学的可行性

4.1 开放的实验环境――软件工作室

在传统实验教学中,基本上是以老师为主体,学生按照老师规定的实验要求和步骤被动地接受知识和技能。而在项目驱动的教学环境――软件工作室里,学生在学习知识、技能和实施项目计划的过程中,能够有更独立、更自由的广阔空间。在工作室中,所有的知识讲座、技术交流、专题讨论、领域知识学习等各项教学活动都是开放的,学生允许跨项目组、跨工作室学习,学生随时可以走上讲台阐述自己的观点,发表自己的感想,交流自己的经验,寻求需要的帮助。在整个学习和开发的过程中,团队发挥着重要的作用。在这里,老师传授知识的唯一作用在淡化,而更多的是引导,培育学生学习新知识的能力。对学生出现的问题通常并不是直接告诉学生,而是提供解决问题的途径,让学生利用团队的力量自己去解决问题。在这里,学生的学习积极性得到了充分的释放和发挥,学生的学习个性得到了有效的保护和张扬,学生的团队合作精神得到了很好的培育和加强。

4.2 丰富的网络资源

软件工作室的每一台计算机都已接入了局域网且全部与校园网相连,这为学生提供了很好的网络学习平台。在学院网站上提供了各种丰富的网络学习资源,包括网络课程、电子教案、实验指导、在线测试以及历年来软件学院各届毕业生完成的近120项应用软件系统等,这些资源面向工作室的同学全部开放。同时,导师非常注重教育学生如何利用网络学习解决问题的新知识,寻找解决问题的新途径,求助解决问题的新方法。

4.3 雄厚的师资力量

项目驱动教学对教师的综合素质提出了更高的要求。作为工作室的导师,不但要有能力独立地从事相关教学科研工作,还要能够组织和带领学生对外承接项目,进行真刀真枪的项目开发,开展对外社会服务,并以项目为主线组织专业教学。为了实施项目驱动教学法,学院除严把进人关外,(所进人员必须是硕士学历以上且满足三能要求,即能教学,能科研,能开发)还在全院开展了学历学位提升、进修访问、校企合作、各种学术讲座和技术交流,以及经常性的教研、科研和读书等活动,以不断提高导师的教学、科研和应用开发能力。另外,学院还聘请了一批著名软件企业的高级专家为学院的兼职教师,内外教师的互动,不仅为工作室的教学增添了活力,也极大的加强了学院面向应用的总体实力。

5 “项目驱动”教学实施过程

5.1 项目设计

导师根据教学进度和教学计划,选择难度适中的项目,将该项目分成若干相对独立的子项目分配给学生,并围绕项目准备好相关的理论知识、领域知识和技术知识等。项目一般来源于教师的纵、横向课题,学院承接的对外服务或经典教学项目等。

5.2 实施的形式

学生在经过两年的基础知识和专业知识学习后,三年级进入软件工作室进行为期一年的学习与开发工作。在工作室中,除少部分涉及开发的公共理论知识和工程知识由导师统一讲授外,其他学习将围绕项目以自主学习、协作学习,面授辅导、答疑、小组研讨、调查研究、技术交流等多种形式组成,具体实施根据教学内容和学生的认知情况灵活掌握。目的在于利用各种信息技术提高教学质量、教学效率,培养学生的自主学习能力、研究能力、创造性思维能力和创造性实践能力。自主学习不是由导师直接告诉学生应当如何去解决面临的问题,而是由导师向学生提供解决该问题的有关线索(例如需要搜集哪一类资料、从何处获取有关的信息资料以及现实中专家解决类似问题的探索过程等)。如果学生在学习过程中遇到问题,教会学生如何通过电话、电子邮件、BBS和在线讨论等方式与同学、导师甚至社会进行探讨和交流。特别要教会学生如何到浩瀚的Internet网络中去搜索、查询自己需要的资料,不断提高自己的程序设计能力。协作学习是在个人自主学习的基础上进行小组协商、交流、讨论等,并通过不同观点的交锋,补充、修正、加深每个学生对当前问题的理解。通过这种合作和沟通,学生可以看到问题的不同侧面和解决途径,从而对知识产生新的洞察。要特别提倡启发和诱导学生自己去发现规律,自己去纠正错误和补充不足,逐步培养学生自主学习自我学习的的能力和习惯。

5.3 成绩的评定

学习成绩评定是工作室学习的重要环节,我们要求成绩评定应具有激励、反馈、导向三大功能,成绩评定应有利于学生的进一步发展。因此,相应的成绩评定体系在评定内容上应该重视学生解决实际问题的能力、创新能力、实践和动手能力的体现,应该重视学生良好的心理素质、科学精神、认真负责的工作态度、积极向上的学习热情等方面的体现。对于学生中出现的闪光点,导师更应积极评价并加以肯定。

在工作室中,成绩评定采用项目答辩的方式进行。首先,每个项目小组推荐一名学生在工作室里进行主答辩,并演示作品,其他学生进行补充,导师和其他小组的同学可以随时向当前正在答辩的项目组的任一学生进行提问,最后结合项目的难度和答辩情况给每个项目和学生做出最终的考核成绩。

6 总结

基于“项目驱动”的教学模式在江西师范大学软件学院已经实施三年了,实践表明,这种以项目为主线,以学生为主体,以导师为核心,以工作室为环境的教学模式有利于培养学生的软件应用开发能力,有利于培养学生的创新能力和实践动手能力,有利于培养学生的团队合作精神,有利于加强学生的个性化教育和极大提高学生自主学习、自我学习、相互学习的学习热情。今后,我们将进一步加强“项目驱动”教学中课程体系及其内在关系的研究、进一步加强“项目驱动”教学与毕业设计衔接以及与导师科研和产品研发的关联研究,进一步加强“项目驱动”教学的网络教学平台搭建及有效利用的研究,以使这项教学改革不断完善和成熟。

参考文献:

[1] 雷刚,黄明和,尹红.培养创造应用型软件人才的几点建议[J].全国高等院校计算机基础教育研究会优秀论文集,2004,(1):45-48,2004.8.

[2] 黄明和,雷刚,郭斌等.面向应用的软件工程专业教学模式改革研究与实践[J].全国高等院校计算机基础教育研究会优秀论文集, 2006,(1):687-691,2006.7.

[3] 黄晓玲,段凤云,赵建科.基于“项目目标法”的实践教学[J].实验室研究与探索,2006,25,(3):280-286.

[4] 曾煌兴,周晓宏.项目开发教学法的教学设计策略及其应用[J].职教论坛,2005,(6):55-57.

作者简介:

柯胜男(1981-),女,工程硕士,助教,主要研究方向为软件工程理论与技术、面向对象技术等。

黄明和(1955-),男,硕士生导师,教授,主要研究方向为面向对象技术、网络计算技术等。

雷刚(1974-),男,工学硕士,讲师,主要研究方向为软件工程理论与技术等。

(*本研究受江西师范大学实验基金课题立项资助)

上一篇:纯XML数据库管理系统 下一篇:改革计算机基础课程教学提高计算机应用能力