文/李跃飞
《Java程序设计》是我校软件技术专业的专业基础课,开设在一年级第二学期,前导课程有《C语言程序设计》。课程一共开设了96课时,理论课与实训课的比例为1:2。
在教学过程中,我们发现了以下问题。
1.学生前半学期学习兴趣高,大部分的学生愿意参与到理论和实践教学中来。但是,随着课程知识难度和代码量的增加,一部分学生开始不能适应教学,体现在:基础知识不扎实;不能灵活应用所学知识;实践能力不高。
2.教师一般采用这样的教学模式:根据教材章节组织理论教学,实训课针对当次理论课设计内容。整个教学围绕“知识点”展开,却忽略了知识点之间的联系,缺乏设计型、创新型和综合型的实验,与实际应用脱节。
项目驱动教学法是指在教学过程中,以学生为中心,以项目为驱动的教学方式。其项目都是与企业实际生产过程或现实商业活动有直接的关系,能转化成具有实际应用价值的产品为目的的任务。项目教学法的特点是:
1.学生是核心。项目驱动教学法的核心是学生,通过学生自主、协同、探索式的学习,完成项目的开发。
2.项目是导向。项目的主题与真实世界密切联系,以项目为驱动力。
3.强调实践性。项目不是针对知识点设计的案例,而是与实际应用紧密联系的软件,项目驱动强调的是学生的实践能力的培养。
4.具有综合性。选取的项目不是针对某一个知识点,而是一个完整、有实际意义的软件,它综合了多个知识点且利用软件工程思想来管理项目的开发。
5.学习评价的多元性。项目教学法的评价注重学生在项目活动中能力的发展,测评内容包括学生参与活动各环节的表现以及完成作业的质量。
1.教学目标。根据人才培养方案和教学大纲,确定知识目标为掌握以下六个模块的内容。
(1)Java基础,包括标识符、变量、常量、运算符和流程控制语句。(2)面向对象程序设计知识,包括类型、对象、接口、封装、继承和多态。(3)数据与异常处理,包括常用的I/O流、异常类及异常处理模式。(4)界面设计,包括常用的控件类、布局管理器及事件监听器。(5)网络与多线程。能力目标为理解面向对象程序设计思想,能编码实现业务流程较简单的软件系统,具备一定的代码调试能力。
素质目标为具备一定的独立思考、团队合作、勇于探索等素质。
2.项目选题原则。项目选题是教学设计的关键,选题既要涵盖课程知识体系、与实际应用紧密联系、还要能提高学生的能力和素质。合理进行项目选题,应考虑以下几个因素:
一是规模和难度。规模应适中,难度具有“阶梯”性。项目过小,难以提升综合应用能力和实践能力;项目过大,学生无法在有限的时间内完成,影响教学进度、有损学生信心;建议选取若干“阶梯”性项目,难度由小到大。
二是应用性和趣味性。项目选择应具有一定应用价值,且是学生比较熟悉的领域,能激发学生的学习兴趣。
3.项目实施。项目采用小组合作开发的方式进行,4~5人为一组。项目实施过程按照软件工程的思想来管理,分为需求分析、概要和详细设计、编码和测试等几个阶段。
(1)需求分析阶段。需求分析是基础,直接影响项目的开展。在此阶段,教师扮演用户角色,学生通过与“客户”交流、小组成员之间交流、探究已有系统的功能等方式,掌握系统的需求,撰写需求分析文档。
(2)设计阶段。根据项目的规模和复杂度,对项目做概要设计或详细设计,或两种设计都做。概要设计的主要任务是把需求分析得到的系统扩展用例图转换为软件结构和数据结构。设计软件结构的具体任务是:将一个复杂系统按功能进行模块划分、建立模块的层次结构及调用关系、确定模块间的接口及人机界面等。数据结构设计包括数据特征的描述、确定数据的结构特性。详细设计的主要任务是设计每个模块的实现算法、所需的局部数据结构。撰写设计文档。
(3)编码和测试阶段
编码是根据项目设计阶段中对数据结构、模块功能以及模块之间的调用关系等方面的描述、用Java语言编写程序、实现各模块功能的过程。在编码过程中,需要做单元的白盒测试,编码结束后要做集成测试和功能测试。
4.评价与考核。采用复合形式做出评价与考核。一是考核项目进展情况,根据学生提交的源码,从功能实现、编码规范等角度做出评价;二是考核文档撰写情况,根据学生提交的文档,从文档是否齐全、编写是否规范等角度做出评价;三是考核项目实施的真实性,通过答辩的方式来做出评价;四是考核团队合作情况,根据答辩情况促进学生之间的交流,并对小组成员间的合作和互助情况作出评价。
软件技术专业的培养目标是培养适应企业需要,能够解决实际问题的专业应用型人才。将项目驱动法应用在《Java程序设计》课程教学中,以项目来驱动教学,不仅能充分调动学生的学习兴趣和学习自主性,更能提高学生的实践能力和项目开发能力,培养学生的团队合作精神。为学生从事软件开发工作,奠定了知识和能力基础。
[1]赵丹丹,李锡祚,宋海玉,王玲芬.项目驱动教学模式在计算机类人才培养中的实践 [J].实验技术与管理,2011, (7):244-247.
[2]朱红英,宫晓曼.基于项目驱动的DACUM模型Java课程开发建设研究[J].科技通报,2014,30(11):241-244.
[3]谢军,徐莉芳.项目驱动法在计算机教学中的运用 [J].教育学术月刊,2012,6:104-105.