前言:想要写出一篇引人入胜的文章?我们特意为您整理了软件工程领域JiT及时教学法的应用范文,希望能给你带来灵感和参考,敬请阅读。
摘要:针对软件工程理论课程教学过程中存在的原理和实践环节容易脱节的问题,分析课程的特点、授课对象的理论基础和目前教学活动的实际情况,提出将及时教学法(JiTT)应用于日常教学活动的思路,以“设计模式”主题为例,阐述JiTT教学环节安排、案例设置和教学效果的初步评估。
关键词:及时教学法;软件工程;设计模式
1软件工程理论课程教学中存在的问题
软件工程是国内大多数高校计算机本科专业的重要专业基础课程,着重培养学生在软件开发过程中独立分析问题和解决问题的能力。软件工程课程体系涵盖技术方法、工具环境、过程管理等多个领域,尤其是需求分析、设计模式、项目管理等环节,一般需要授课对象具备较高层次的抽象思维能力,且有一定的实际开发经验。然而多数国内在校本科生缺乏团队协作和解决工程问题的能力[1-2],难以对软件工程内在的逻辑关系进行整体把握,从而学习效果普遍不佳。(1)概念比较抽象。软件工程中存在大量的概念、原理和模型,导致多数主题和章节的理论性很强。尽管结合案例的教学方法可对部分概念的理解起到一定的辅助作用,但受课时所限,很难将实际的庞大工程背景与复杂上下文环境在课堂上描述完整。对软件系统的分析、测试、模式设计的精髓等,往往只能点到为止,多数学生都无法在短时间内深入理解。(2)教学手段陈旧。软件工程是一门实践性和综合性都比较强的课程,但在实际教学过程中,师生之间缺乏有效的信息交流和沟通手段。既缺少课上针对授课主题的分析讨论,也较少使用网络化的交流平台和手段,因此,很容易陷入传统的模式化和程式化的教学循环。(3)学习效率不高。软件工程中概念和理论层面中需要学生识记的较多,真正动手去做的较少,容易导致理论和实践脱节。此外,学生的主动性和参与性无法充分调动,也导致教学效果与期望目标相差较大。
2jitT方法简介
及时教学法(just-in-time-teaching,JiTT)[1]强调基于网络的、活动/任务导向的、自主学习的教学模式。JiTT从20世纪末提出以来,已广泛应用于医学[2]、控制[3]、语言[4]等领域的教学活动。现将JiTT理念引入软件工程理论教学,利用网络教学平台,结合课前预习、分组学习、课后实验等教学活动,提高学生自主学习能力,改善教学效果。JiTT基于一系列在线和课堂的教学活动,为教师和学生提供有效的互动教学策略,其主旨思想和核心理念,是通过将一部分学生评测活动移到课前,让学生在课堂活动之前有比较充分的时间阅读并在线完成预热(warm-up)问题,教师可提前查看这些问题的回答情况,并适当调整课堂教学重点,从而取得较好的教学效果。同时,辅以课堂分组讨论、课后实验等环节,将课堂教学内容和课外延伸活动有机结合,形成及时反馈。一般的,对于一个专题(章节),教师提前1周开始准备课前阅读材料和预热问题,学生阅读预习材料后在上课前2天在线提交预热问题的答案,教师提前1天根据学生答题情况对课堂教学活动重点进行微调,并针对错误或问题集中的知识点,强化课堂活动内容。软件工程理论课程,尤其是概论和导论类课程,课时偏少,课程容量很大,另外,国内多数高校采取合班授课,针对这种情况,结合JiTT活动对传统的课堂分组方式进行了调整,如图2所示。分别布置A、B两组不同话题(知识点)的预热问题,学生随机选择一组,在课前进行充分预习和思考,课堂教学过程中,两组学生分别进行交换问答与讨论,既节省课堂时间,又可使学生充分了解了另一分组中的相关知识。
3JiTT在软件工程教学中的应用
本节以设计模式这一主题为例,描述JiTT各环节在软件工程教学中的具体应用。软件体系结构和设计模式是软件工程理论体系中的一个重要组成部分。这个主题要求学生在掌握基本的面向对象(objectoriented,OO)编程思想和程序语言的基础上,针对软件设计过程中的某一类常见问题,提供一般性的解决方案。对多数本科生而言,尽管对多态、继承、封装等OO概念有所了解,但由于缺少实践经验,往往对设计原则和模式的意图、演化过程和适用场合无法深入理解和灵活应用。1)课前预习阶段。尝试让学生完整地解决一个编码问题,为此,采用一组案例引入设计模式主题,并不断地进行代码重构和设计演变,最终给出一个特定模式的解决方案。图3所示为“策略(strategy)模式”中的一个课前预热问题。这个环节要求学生通过一个“愤怒的小鸟”游戏,掌握“策略模式”的设计原则。学生在阅读并了解游戏的基本需求后,根据给出的设计框架填充相关代码,完成相应的功能。通过3~5个类似的问题,可使学生进一步了解后续设计的逐步改进的过程。2)问题评价阶段。教师对预热问题的难度和学生回答情况进行评估。将学生分为A、B两组,分别阅读“策略模式”和“观察者(observer)模式”的相应材料并回答问题。其中,“策略模式”的预热问题平均得分89.73%,“观察者模式”预热问题的平均得分91.02%。将针对学生的评测移到课前,可以发现,多数学生能够理解这个案例游戏的基本设计需求,即便在尚未掌握设计模式时,也可以通过此前掌握的手段完成部分功能的实现,OO和UML基础普遍较好。3)课堂讨论阶段。在这个阶段,大部分学生已经对两类设计模式中提出的案例问题比较熟悉,也能发现设计过程中存在的问题(如代码重复、无法高效应对需求变化等)。在此基础上,通过交叉分组讨论,最终给出两种设计模式的一般解决方案,从而强化学生对这类复杂概念的理解。评估结果(见表2)表明,超过85%的学生认为,此前的阅读和预热问题有效提高了课堂讨论的效率,90%以上的学生认为一系列课堂活动基本解决了课前阶段所存在的疑惑和问题。4)课后评估阶段。通过补充实验,学生有机会分别利用两种设计模式最终完成两个案例问题的程序编写,并查看实际运行效果。为此,在实验和作业中,给出了部分超类和接口的定义,要求学生填写相应的代码,所有问题和答案均通过在线方式。
4效果评估
为对JiTT在软件工程设计模式主题中全过程应用的教学效果进行评估,设计了一组调查问卷,问卷分为3组共31个问题,包括对JiTT过程的评价、对原理和概念的理解,以及对学习效果的评估(见表3),评估结果如图4所示。本科三年级的133名学生参与了问卷调查评估。结果显示,90.98%的学生认为,与传统的授课方式相比,JiTT活动可以有效帮助其理解比较复杂和抽象的概念;93.23%的学生表示,通过在线的课前阅读和预热问题,提高了课堂讨论的针对性和效率,对课后作业和相关实验的完成有明显帮助;88.72%学生愿意将JiTT方法应用在软件工程的其他理论课程中。
5结语
结合网络教学平台,通过拓展阅读和预热问题使学生提前介入相关概念的学习;通过分组讨论、课堂讲授和课后实验等,使学生对两类设计模式的理解更加深入。我们对本科三年级百余名学生的实际评估结果,发现JiTT模式和活动对设计模式的教学有积极影响,有利于将理论知识与开发实践相结合,可显著提高教学效果。当然,软件工程领域的课程特点差异较大,本文主要将JiTT方法应用于设计模式等理论难度较大的主题,未来将探索该方法在数据库原理、软件测试等其他核心主干课程中的应用。
参考文献:
[1]骆斌,葛季栋,丁二玉,等.软件工程专业课程体系的研究与创新实践[J].计算机教育,2010(23):9-13.
[2]樊富有,孟林,李忠.新形势下软件工程人才培养的思考[J].计算机教育,2013(13):82-86.
[3]王鸿丹.基于claroline的JiTT教学模式在高职教学中的应用研究——以C语言程序设计课程为例[J].软件导刊(教育技术),2016(4):15-16.
[4]王雪莹,徐晖.及时教学法在无菌技术实验教学中的应用[J].护理学杂志,2013(21):70-72.
[5]刘青,李红梅.“及时教学法”在电力系统继电保护实验教学中的应用研究[J].实验技术与管理,2007(12):123-125.
[6]闫士金.“及时教学”模式与新课标背景下的高中英语教学[J].林区教学,2012(1):61-62.
作者:陶冶 刘国柱 单位:青岛科技大学 信息科学技术学院