翻转课堂在软件体系结构课程教学中的实践

2017-04-12 02:02丁智国
计算机教育 2017年3期
关键词:体系结构考核知识点

丁智国

(浙江师范大学 数理与信息工程学院,浙江 金华 321004)

翻转课堂在软件体系结构课程教学中的实践

丁智国

(浙江师范大学 数理与信息工程学院,浙江 金华 321004)

随着IT技术的发展及其在教育领域的广泛应用,翻转课堂教学模式在现代教学过程中获得广泛的发展应用。文章分析当前软件体系结构课程的特点和教学现状,阐述如何以任务驱动为主线,实现课程教学之前、之中和之后的三部曲操作,完成翻转教学。

翻转课堂;任务驱动;软件体系结构;教学改革实践

1 背 景

随着IT技术的发展,翻转课堂(f ipped classroom或inverted classroom)作为一种新兴教学模式,在现代教学过程中得到广泛的研究应用,也被称为是影响未来课堂教学的重大技术变革。这种教学模式来源于美国的一些中小学,其目的是考虑学生的个性化从而进行针对性教学。传统教学模式以教师为中心并占据课堂上大部分时间,与之不同的是,翻转课堂教学以学生为中心,要求学生课前对教师布置的与教学主题相关的资源进行预先学习,学生带着问题听课,教师的角色从“教”翻转为“导”和“答”,学生的角色则从“听”翻转为“问”,即教师的主要任务是基于学生学习情况进行引导,进而针对教学内容进行答疑解惑。教师与学生角色的转换强调学生的主体地位,这种新的教学模式更注重学生学习能力的培养,有助于激发学生的学习积极性。研究和应用结果表明,该种模式能激发学生的学习主动性,具有良好的应用效果[12]。

软件架构师是软件项目的总设计师,是培养软件人才的最高级阶段,软件质量本质上也是由架构决定的,因此软件体系结构课程在软件工程专业教学及人才培养中扮演着重要的角色;然而,软件体系结构的本质特征和教学中存在的问题使得该课程的教学效果一直不太理想[3]。近年来,慕课(MOOCs)的迅猛发展为翻转课堂教学模式的实施提供了良好的技术支持,笔者借鉴翻转课堂这种新兴教学模式的诸多优点,对软件体系结构课程教学改革进行思考并作一些探索性的实践。

2 软件体系结构课程的特点及教学中存在的问题

软件体系结构作为软件工程专业高年级的一门专业选修课,教学目的是让学生在学完该门课程后,可以从宏观上了解软件产品的分析、设计、开发和后期维护。随着现代软件规模越来越大,功能越来越复杂,软件体系结构在大型软件项目开发中的作用也越来越重要,体系结构的设计作为现代软件开发中最为重要的一环,设计得是否合理直接关系到软件开发的成败,这也对软件架构师提出更高的要求。软件体系结构课程的特点如下[45]。

(1)课程内容抽象。软件体系结构从较高层次上把握和理解复杂软件的整体结构,其设计原则、技术和方法可以应用在不同的软件项目中并位于所有具体项目之上,用以指导全体软件项目,因此课程内容是高度抽象的。

(2)体系结构的作用体现在软件开发阶段的后期。由于软件开发是从软件需求分析到运行维护的多个阶段,体系结构的设计在这些阶段通常反映不出来;设计阶段的一个决定,可能要到编码、测试甚至后续维护才能体现出价值。

(3)软件体系结构设计是多种因素的综合体。我们通常说“软件架构师不是完美主义者,而是现实主义者”。在软件开发时,软件中的一些因素通常是相互冲突的,因此,在实际的软件系统设计中,必须根据具体情况对各种要素进行折中与权衡,最终才能满足用户的需求。

软件体系结构课程的特点使其在教学过程中存在以下很多问题。

(1)学生学习积极性不高。软件体系结构课程的理论性较强,概念繁多,学生普遍觉得课程内容太抽象,没有什么实际的东西。理论使得学生对该课程的学习没有兴趣,而学生通常没有实际的项目开发经验,因此很难将软件体系结构的抽象理论和实际联系起来,导致很多学生对该课程没有兴趣。

(2)学生的项目经验不足。大多数学生在学习该课程之前没有项目开发经验,不能认识到该课程的重要性;而学生的作业和课程实践通常只局限于小项目,因此他们很难体会到软件体系结构在软件开发过程中的指导性作用。

(3)教材内容与课程教学缺乏交互性。目前使用的教材单一、可用性较差且更新缓慢,而实践教学形式单一且以理论教学为主,课程主要讲授软件体系结构的基础概念和基本原理,只起到导论的作用,交互性差;此外,课程教学中缺乏体系结构的习题库和案例库,学生缺乏实战演练。

软件体系结构课程的特点和教学过程中存在的问题,使得传统教学模式不能较好地胜任该课程的教学。翻转课堂充分体现以学生学习为中心,和传统的以教师为中心的课堂教学完全不同,可改善学生只听不问的被动式学习,使学生敢于提出问题并解决问题,也为不同层次的学生提供更合理的学习方式。笔者近年来一直从事软件体系结构课程的教学工作,通过应用翻转课堂教学模式,取得了较好的教学效果。

3 软件体系结构翻转式课程建设探索

3.1 翻转课堂的建设

利用翻转课堂,我们对传统教学环节中的各个步骤进行调整并以任务为主线,实现课堂教学之前、之中和之后三部曲的构建,3阶段的功能如图1所示。

图1 翻转课堂三部曲功能

构建翻转课堂三部曲的工作比较复杂,需要分教师和学生两个角色分阶段完成。教师在每个阶段之前都需要作充分的准备。在课程教学之前,教师须基于教学任务,开展课前教学设计,包括根据课堂教学内容进行知识点划分和归纳,总结核心教学点并制作教学视频或者教学PPT,搜集和教学内容相关的背景素材,基于教学内容给学生布置一定的学习任务,完成教学内容布置和目标制订、教学素材和视频上传、在线答疑等。需要注意的是,课前教学设计的主要目的是让学生大致对讲解的教学内容有所了解,能使其对所学内容不至于太陌生,减少学生自学的压力,因此课前素材的制作要简练,如视频不能太长,以知识点为划分依据,每个视频8~15min左右。教学过程中,教师需要针对教学内容进行引导性讲解并针对学生的提问开展课堂讨论;课后进行教学内容的总结分析、批改作业、在线答疑等。学生须在课前认真学习教师提供的素材,完成一定数量的作业测试;在课堂上积极参与讨论,在课后完成作业并对教学内容进行反思总结,通过强化实践练习对教学知识点加深巩固。

3.2 基于翻转课堂的体系结构课程设计

实际上,翻转课堂的实施是一项系统化的工程,并非录制几个视频、准备点材料让学生课前学习就能称为翻转课堂。教师需要基于翻转课程的思想,对课程知识体系结构,课堂学时分配,课堂学生的人数(小组确定),课堂翻转程度,课堂互动方式,课程考核评价标准,课前、课间和课后的教学内容安排,知识点测试等课程教学中涉及的一切内容作出统筹安排,实现各个环节的相互补充。

1)教学内容的重新组织。

考虑到翻转课堂形式和软件体系结构课程的特点,教师需要对教学内容进行归纳整理。由于该课程基本理论多、知识点多且应用广泛,我们可以把课程内容分为以下4部分进行组织:①基础理论,包括体系结构概述、风格、描述、动态软件体系结构和Web服务体系结构;②方法技术,包括UML建模的方法、技术等;③上机操作,针对具体的系统进行分析并建立模型;④应用,讨论基于体系结构的软件开发方法。

在教学内容的选择方面,需要添加一些引起学生兴趣的素材。例如,在讲解软件体系结构风格时,课程教学内容包括管道/过滤器风格、层次风格、MVC风格、C/S、B/S风格、混合风格、面向对象风格、事件驱动风格及新型软件体系结构风格,可以结合具体的应用实例进行讲解,如使用高级语言编辑器作为管道/过滤器风格的典型案例进行教学、使用操作系统作为层次风格的主要案例进行教学以及使用学校教务管理平台作为B/S风格的典型案例进行教学,能取得较好的教学效果。此外,为了拓展学生的视野,可以引入一些在软件工程领域有突出贡献的大学所应用的软件架构课程,如卡内基·梅隆大学软件工程研究所(SEI)的软件架构实践、软件架构评估、RUP软件开发过程和架构模式的课程相关资料。

课程资源应该尽可能微型化并及时更新,这样可以使学生在任何形态下学习,如“一个概念为一个资源,一个案例为一个资源”的方式。资源也应该分类,如分为自主学习类和课堂讲解类,自主学习类包括一些简单的知识点、操作、案例等,这部分知识点只需要由学生自主学习,而不需要再占用宝贵的课堂时间进行详细讲解;课堂讲解部分包括一些较难的知识点以及教师觉得学生可能容易出现问题的教学点,在学生自主学习的基础上,教师可在课堂上对该部分内容进行讲解和讨论。

在线讨论的问题设置要有针对性和开放性,上述两类素材中的内容要让学生学习后既能有一定的成就感,又产生对学习新知识点的渴求,因此视频的录制使学生看了视频后不至于还是完全弄不清楚。这一点在实际应用中很难把握,教师可以通过问题设置,驱动学生进一步探索;为了适应学生提问较少的情况,教师还可以通过设置小测验考核学生的预习情况。

需要注意的是,在教学过程中,虽然翻转课堂以学生提问为主,但是教师作为教学主线的引导作用仍是关键。教师可根据布置的教学任务和测验结果进行提问,对课前的知识进行重点讲解。通过预习,学生通常能掌握50%~60%的教学内容,剩余内容则需要教师利用课堂教学时间进行重点阐述,加深学生的理解;此外,教师还可以采取多种方式,如小组之间进行讨论,罗列的问题应由简单到复杂,以调动学生讨论的积极性。这个步骤较难操作,教师可以采用一定的激励机制,如对积极参加讨论并陈述自己观点的学生给予加分,并将这个分数作为该门课程最终成绩中平时分的一部分。

2)考核方式的改革。

软件体系结构课程不但要求学生掌握体系结构的一些抽象定义、风格等基础理论知识,还需要考核学生熟练应用课程知识的能力。传统卷面笔试的单一考核方式不能真正反映学生的学习效果,因此,应该建立多元化的考核机制。我们通过翻转课堂教学模式改革,对应于教学过程的三部曲,对考核方式也进行相应改革。新的考核方式见表1。

在上述课程考核方式中,项目答辩大作业包括一些具体项目的文档报告,大作业采取答辩讲解形式进行考核,答辩学生根据作业答辩内容,制作PPT并在规定的时间内完成。考虑到时间的限制,我们采用申请优秀的学生必须参加答辩,而随机抽查其余学生作业的方式。此外,对于上述各种打分环节,为了体现公平性,可以在教师评分为主的前提下,在打分过程中随机抽取5位非主体讲解小组的学生进行打分,按照加权平均法给出最终成绩。需要注意的是,考虑到在该门课程学习中,这种考核方式对一些基础理论的理解和记忆也至关重要,因此新的考核方式也没有完全抛弃传统的卷面考核(占30%),全面考核软件体系结构的基础理论知识,如通过名词解释、简答、判断等传统题型对一些概念进行考核。

表1 课程考核方式

通过实施上述教学改革,软件体系结构课程的教学效果得到明显改善。一些枯燥的基础理论和术语在具体的实例引导下变得容易理解;教师在教学过程中,也不局限于教学大纲内容按部就班地讲解,而是将整个教学内容统筹划分;教学过程中,我们也能及时得到学生的反馈;考核方式的改革在一定程度上也激发了学生的学习主动性。

4 结 语

翻转课堂是对传统教学模式的改革和创新,是一种教学观念的改变,这种课堂教学模式的推广应用势必会对未来的课程教学产生深刻影响。笔者在分析软件体系结构课程教学的特点和面临的问题之后,借鉴翻转课堂教学模式的优点开展课程改革,提高了学生的学习积极性并获得良好的教学效果。在教学改革中我们也发现,由于课程的特点,并不是所有的教学内容都适合翻转课堂教学模式,因此在实际教学过程中,翻转课堂教学模式应该与传统教学方式相辅相成,灵活应用以更好地开展教学活动。此外,虽然翻转课堂教学模式自提出以来就受到国内外的广泛认可,但是在实际应用过程中还有很多问题亟待解决,我们也将继续关注该教学模式的应用。

[1] 周群. 计算机应用型人才培养翻转课堂教学模式研究[J]. 大学教育, 2016(3): 150-152.

[2] 张金磊, 王颖, 张宝辉. 翻转课堂教学模式研究[J]. 远程教育杂志, 2012, 30(4): 46-51.

[3] 陈长清. 软件体系结构课程教学探讨[J]. 计算机教育, 2008(22): 134-136.

[4] 朱鹏程, 管致锦. 基于能力本位的“软件体系结构”实践教学环节[J]. 计算机教育, 2011(17): 39-42.

[5] 刘靖, 周建涛.“做中学”理念在软件体系结构课程教学中的应用实践[J]. 计算机教育, 2013(22): 88-93.

(编辑: 宋文婷 )

1672-5913(2017)03-0068-04

G642

浙江师范大学2016年研究生重点课程建设、教育教学改革和教学案例建设项目(26)。

丁智国,男,讲师,研究方向为软件体系结构、软件质量与测试等,dzg_jsj@zjnu.cn。

猜你喜欢
体系结构考核知识点
基于思维导图的化学知识体系结构构建
一张图知识点
一张图知识点
第四页 知识点 歼轰-7A
基于PPP工程采购模式的工程项目合同体系结构研究
内部考核
足球机器人并行行为组合控制体系结构分析
创新完善机制 做实做优考核
发挥考核“指挥棒”“推进器”作用
关于G20 的知识点