时间:2022-10-12 06:54:23
摘 要:针对如何落实软件开发的项目化教学,如何实现学生软件开发的职业能力培养,阐述了作为承载学生培养目标的载体——教学项目及其作用、选取与教学内容的组织。项目化教学最终要落实到项目“典型工作任务”的教学情境设计中。本文通过软件教学案例的设计,说明如何体现项目教学的情境性,如何体现“项目导向、任务驱动”的教学。结果表明通过好的教学项目的情境设计,对软件开发人才培养具有非常大的作用。
关键词:项目化教学;能力培养;典型工作任务;教学情境设计
中图分类号:G642 文献标识码:A
与普通高等教育学科性教学不同,高职教育重在职业能力与素质的培养[1]。而“十六号文”倡导的“项目导向、任务驱动”的教学是职业能力与素质培养的有效途径。如何落实“项目导向、任务驱动”的教学呢?这是从事职业教育的同仁不断探索的课题。我们在教学改革中探索了软件项目化的教学,通过设计系列项目学习情境作为教学内容;通过实践证明,这样设计的教学内容利于教与学,能提高学生的学习兴趣,教学效果能得到很大提高。
所谓学习情境是指用于学习的“情形”与“环境”,是课程的一个教学单元[1]。许多专家通过研究发现,影响人们学习迁移发生的重要因素是“情境”[2]。例如,给一个卖菜的菜农做小学四则运算试卷可能成绩很差,但他计算菜价一般很准。这是由于卖菜的情境对他的计算能力起着重要的作用。
在项目化教学中,通过模拟项目开发的情境导向下进行学习,学生容易体会到项目开发过程,领悟和消化项目所承载的学习内容,从而达到能力与素质培养的目的。由于教学中项目情境是学习的关键因素,所以适合教学的项目情境的设计非常重要。
1 基于知识教学与基于能力的教学
能力培养与知识培养目标不同,采取的教学形式也应不同。学科性教育一般采用传统的知识教学;而职业教育要与生产实践相结合,则应该采用项目教学。相对于传统学科性教学利于知识体系教学,项目化教学则围绕专业操作的能力培养。因为项目具有情境性,利于采取情境教学方式。学科性知识教学与基于项目情境教学在学习内容、教学特征、学习结果均不同,具体如表1与表2所示。
表1 两种类型的教学比较
表2 两种教学方式特征的比较
由于项目因素在人才培养中具有重要的作用,但如何选择教学项目、如何组织项目教学内容则显得非常关键,是首先需要解决的问题。
2 教学项目的选取
2.1 项目的选取
项目是项目化教学的主要载体,项目教学重要的第一步就是选取合适的教学项目,然后才能基于该项目设计教学内容。教学项目中有两种:一种是为提升学生各相应技能点的模拟项目;另一种就是实际开发的项目,它们构成二元化项目教学。这两种项目在软件人才培养中均很重要,各自承担不同的人才培养目标的作用。
软件项目开发过程灵活,决定软件项目开发成功的因素非常多,如需求、开发模式、管理模式等。如果在一个项目教学中同时体现这些概念,学生会感觉非常难以掌握。所以,在选取教学项目时要充分考虑这个特点,可将单元教学重点聚焦于某个具体培养目标。即暂时不考虑那些“重要”的,但不是此处重点的内容,突出本单元的教学目标;而该教学目标由项目具体的“典型任务”承载。而由这些“典型工作任务”构成的“完整”项目就可选作我们的教学项目。
2.2 项目的情境性
在项目化教学中,教学内容是以项目完成任务的操作展开,以实际工作活动为教学内容。这样的学习是以“操作情境”为学习内容。而项目本身具有情境性,即可以通过任务的完成过程展示来实施教学。但是,如果内容是“项目中”的内容,但项目的情境性没有很好地体现出来,则难以说是真正的项目化教学。目前市场上有许多“项目导向”的教材,但其内容中没有体现项目的情境性,所以不是真正意义上的项目导向的教学。
“项目导向”的教学应该是通过项目的操作情境,导出整个项目的完成过程,在这个学习过程中,达到所项目所承载的知识与能力培养目标的实现。
项目教学中要体现项目的情境性,情境需要进行精心的设计。为了体现项目教学,设计项目情境时需要考虑以下几个方面:
(1)项目情境的完整性。即项目情境应是一个完整项目各“典型任务”过程的展现。整个的教学内容是一个完整的应用项目的分解,则学生容易地了解实际项目完成的整个过程。
(2)各项目任务的培养目标要明确。项目承载了人才培养目标,但这些目标的实现需要通过各项目任务的操作情境,这些任务是项目过程中具有代表性的“典型工作任务”。
(3)项目情境应具有连续性。各情境之间具有连续性,有利于学生的理解与掌握;即使学生在某个阶段掉队,也容易通过自我表现学习接上。
(4)项目化教学内容通过项目情境的组织、序化,实现“任务驱动”的教学。
3 项目化教学内容的设计与组织
教学项目不分大小,只要能展现真实工作情境中任务完成过程,就可以作为能力培养的教学载体。项目中的各“典型工作任务”则作为一个个相互关联的教学单元,它体现了项目的情境操作。最终通过教学情境的教学,实现“项目导向,任务驱动”的教学[3]。
3.1 典型工作任务
任务驱动的教学内容,可以通过项目典型工作任务的操作情境,以及其序列来组织教学,而这些教学单元又形成一个整体。“典型工作任务”是那些软件开发中具有代表性的工作任务。例如:软件是由“模块”组成的,如果一个软件系统包含20个模块,则一个“模块”的实现就是一个“典型工作任务”。而所有这20个“模块”实现技术相同,所以用那一个“模块”实现情境代替了。为了体现项目的整体性,这些“模块”集成在起来,也是一个“典型工作任务”。
3.2 组织与序化典型任务的教学情境
由于项目是一个完整体系,教学时需要将其任务进行分解与序化。项目的分解既有宏观上的模块分解、架构、集成;又有程序级的模块分解、集成;另外还有技术层、设计模式、实现框架等等。如果不能很好地组织与序化,很容易让学生感觉无处下手与掌握。
在项目化教学内容设计时,我们常根据软件自顶向下的分解,组织与序化项目内容,而且还要保持项目的整体性与连贯性,如图1所示。
图1 项目的任务分解与序化
通过上述分解将整个项目分成一个个任务,然后再将这些任务有序地组织起来,形成一个整体。不但从项目的角度、而且从教学内容的角度都是一个完整的整体。当然,相同类型的任务选择一个作为典型任务。这样,就将整个项目教学内容通过任务组成了一个有机的整体,而各个任务之间通过任务驱动过渡与推进。项目教学内容可序化为如图2所示的序列。
图2 基于项目情境为单元的教学内容序化
4 设计教学单元——教学情境
教学情境的实施需要综合多种教学手段与资源,并通过教学活动来营造,使学生在学习中能形成良好的求知心理的[4]。组织序化了项目任务过程以后,就需要对各个任务完成的“操作(教学)情境”进行设计。项目任务具有其操作过程,且承载着各自的人才培养目标(包括知识和能力目标)。这时,作为教学单元的各教学情境的设计目标就明确了。
一个任务的操作情境可能有多个,它们需要覆盖任务完成的过程才算完整,而每个教学情境可作为一个教学单元。由于各个任务已经按任务驱动的形式来组织,这些教学情境便构成整个教学内容的有机组成部分。如在“用JSP进行软件开发”的教学中,我们按照表3所示设计项目教学的工作任务及教学情境。
表3 JSP软件开发典型工作任务及教学情境
详细的教学情境设计涉及到其承载的教学目标、情境操作过程、代码资源、教学材料等,这些内容均对教学具有辅助作用。由于篇幅的问题,表3中只给出JSP软件开发的三个典型工作任务,而教学情境设计描述占篇幅很多,此处均省略。表3中设计的教学情境总体上覆盖了用JSP开发软件的过程、技术点、能力要求;但它不是一个完整意义上的项目开发(因为只覆盖一个模块的实现技术,而一个真正的软件会有相当多的模块,并且模块之间的关系很复杂)。通过该情境学习,学生基本上能掌握用JSP进行软件开发需要的知识、技术与基本能力。
需要指出的是,各个典型工作任务的实现是教学情境,而任务的分解、系统的集成均是重要的教学情境。通过这些有机的教学情境的教学,使得学生知道整个项目的开发过程,及最终交付用户使用的软件产品制造的各方面的知识。
5 结语
在教学实践中我们尝试克服“以知识或技术为本”的教学,探索“以人为本”的能力培养教学。通过项目化情境教学能很好地激发学生学习兴趣与潜力,从而利于专业知识、技术理论的学习。其次,再通过引导实践、综合实训提升学生的综合能力,从而能大幅度提高教学效果。由于学生学习兴趣、专业能力提高了,学生的自我学习能力也会逐步培养出来,从而达到软件人才培养的目的。
参考文献
[1] 赵志群.职业教育工学结合一体化课程开发指南[M].北京:清
华大学出版社,2009,5:6-30.
[2] 刘磊,徐国庆.聚焦于项目的情境学习机制研究[J].武汉职业
技术学院学报,2010,(04):32-35.
[3] 教育部.关于全面提高高等职业教育教学质量的若干意见
[Z].北京:教高[2006]16号文.
[4] 宁秋平.基于项目教学法的教学情境的设计[J].辽宁高职学
报,2011,(13)6:58-59.
作者简介:
牛德雄(1965-),男,硕士,副教授.研究领域:软件开发技术、
软件工程.