软件工程课程翻转课堂教学法

时间:2022-09-07 05:41:50

软件工程课程翻转课堂教学法

摘要:针对《软件工程》课程理论抽象和实践性强的特点以及目前运用传统教学法暴露出的问题。本文提出运用“翻转课堂”教学法对《软件工程》课程进行教学改革,提倡“先学后教”提高了学生自主学习的能力。同时开发了《软件工程》课程辅助教学微信小程序,实现了线上教学和线下课堂的有效结合,提高了本课程的教学效果,并结合“翻转课堂”的特点对课程的实践教学和课程考核方式给出了具体的改革措施。

关键词:翻转课堂;软件工程;教学改革;教学方法

1引言

翻转课堂是当今信息传递方式剧变背景下,我国高等院校掀起的一次对课堂传统教学法的革命风暴。“翻转课堂”理念源于美国“林地公园高中”,2007年该校的J.Bergmann和A.Sams两位教师提出并实践创立了经典的翻转课堂模式。这两位教师将课堂演示文稿和课程音频录制成视频放到网站上供缺课的学生使用。2011年萨尔曼.可汗创立了“可汗学院”,极大提高了教学工作者对网络教学的关注度。自此“翻转课堂”成为全球教育研究领域的一大热点[1]。目前课堂普遍采用的是传统教学法,以教师为中心[2],先教后学。在课堂上以教师为中心,体现的是一种填压式的教学模式,强调教师课堂上对知识的传授,由学生课后理解消化所学知识。这种教学方法难以引导学生发散思维,难以培养学生独立思考和创新能力。而翻转课堂教学法是以学生为中心,先学后教。课前学生根据老师提供的资料自主独立完成知识的学习。课堂上教师和学生互动讨论和答疑,完成知识的理解消化[3]。翻转课堂增加了师生之间的互动,教师可根据学生对知识的掌握情况调整教学内容,有利于加深学生对所学知识的理解。另外学生课后可以多次观看教师提供的教学视频和文档来巩固所学知识从而掌握学习的主动权。《软件工程》是一门理论知识抽象,集工程性、操作性和实践性于一体的学科。学生难以及时掌握抽象的理论知识,翻转课堂教学法正好可以弥补传统教学法在软件工程课程教学中存在的缺陷,有利于学生的学习。因此有必要非常有必要将翻转课堂应用于《软件工程》课程教学中。

2教学中存在的问题

《软件工程》是计算机科学与技术和软件工程专业的一门核心的专业课[4]。这门课程的教学目标是指导学生应用工程化和系统化的思想进行软件系统的分析、设计、开发和维护,着重培养学生软件开发和软件项目管理能力。学生毕业后有望能成为软件设计师和软件工程师等计算机专业人才。在《软件工程》教学中,目前普遍采用传统教学法,课堂上由教师讲授概念、理论和方法等基本知识点。实践表明该教学方法主要存在以下两个方面的问题:(1)难以让学生学会运用软件工程理论。由于《软件工程》理论知识的抽象性太强,即使课上教师将理论运用于实例进行讲解分析,学生听起来很明白也觉得很简单。但一到课程设计环节,面对一个新的选题却又不知道该如何动手,不知道如何运用课堂上的知识和方法来解决问题,无法顺利完成软件设计任务。特别是在进行毕业设计时,不能将《软件工程》的理论知识充分运用,导致设计开发的软件存在诸如功能完善性、可用性和理解性等很多问题。学生撰写的论文在结构、内容和模型表达等方面都存在很多错误。这种状况严重打击了学生学习这门课程的积极性,难以完成课程的教学目标。(2)难以让学生体会软件工程的价值。教师在教学过程中为了便于学生理解《软件工程》的基本理论和方法,往往会结合具体案例进行讲解。在选取教学案例时,如果所选择的案例规模小,如简单的班级管理系统等,学生会觉得不遵循软件工程的设计过程,开发出来的软件功能也很完善、可用性也不差。如果所选案例规模太大,学生不熟悉案例的场景,也难以理解软件开发的各个环节如何运用软件工程的理论和方法。这样会导致学生不能建立系统完整的《软件工程》概念体系,难以对所学的知识有一个整体认识,难以体现《软件工程》在软件开发中的价值。

3翻转课堂的软件工程

“翻转课堂”的《软件工程》教学模式主要包括线上的理论学习和测试、线下的课堂讨论两大部分。其中理论学习在课前完成,测试部分放在课后完成。整个教学过程分为三个阶段完成。其教学模型如图1所示。3.1课前线上理论学习和测试。当前,翻转课堂的教学改革多数采用建设慕课或引进慕课建设SPOC作为支撑来实施。但慕课的建设成本高,而引进慕课建设SPOC,也需要进行大规模改造才能使用[5]。为此,本文对于线上教学部分,开发了《软件工程》课程辅助教学微信小程序。教师通过该小程序上传课前理论知识学习讲义和视频,由学生在线观看和学习。教师可以在视频中穿插一些小测试,让学生了解自己的学习情况,如果测试效果不好,学生可以多次观看视频和讲义。另外在每个单元内容结束后,教师给出一套单元测试让学生完成。这样教师就可及时了解学生对知识的掌握情况。对于疑难知识点,可以在课堂上进行集中讨论教学。课后作业也由教师在线,学生在线完成。3.2课堂案例教学。在课堂教学过程中,学生在课前已经观看过相关理论知识讲义和视频。在课堂上,教师首先根据课程教学大纲,快速地对内容进行串讲;然后根据课堂反馈对重难点知识进行详细讲解。在对重难点知识讲解时,采用案例驱动法。比如讲解用例图绘制时,由于学校每栋教学都有饮料售货机,学生每天都会在机子上买饮料,所以就以饮料售货系统为案例,给学生分析如何判别出该系统有哪些参与者和用例,然后将用例图绘制出来。这样就把生活中的实例带入了课堂,做到了理论联系实际,便于学生理解和掌握软件工程抽象的理论知识,从而大大提高学生学习的积极性。3.3课后总结和学情预测。经过课堂教师讲解,学生对知识点有了更深刻的理解。学生需总结知识点并重新思考问题,对老师在课堂上强调的重要知识点进行再学习和巩固,可回看视频和讲义。教师可针对复杂问题在线与学生互动答疑,进一步提高学生的学习积极性。《软件工程》课程辅助教学微信小程序构建了学情预测模块,对学生的学习效果进行预测和评价。根据学生课前测试成绩、课后作业完成情况、章节测试和单元测试的成绩预测学生对课程知识的掌握情况,评选出学优生和学困生,以便对个别学习困难的学生做有针对性辅导[4],从而达到良好的教学效果。

4实践教学改革

《软件工程》是一门实践性很强的课程。以往的教学经验发现,虽然在大三进行《软件工程》的学习,但在毕业设计时,仍然发现学生不知道如何运用在课堂上所学的理论知识来绘制自己毕业设计选题的软件系统模型。为此,对实践环节进行改革,采用“校内实验+校外实践”模式加强实践教学。其中,校内实验采用任务驱动法,实验内容与课堂教学保持同步,一旦完成软件生存周期中每一阶段的教学,就给学生布置相应的建模任务。任务由学生分组完成,教师对每一组的选题划分具体任务,并提示应采用的方法。这样学生就能找到完成任务的切入点,敢于着手去实施。任务结束时,每一组派一名代表对完成任务的情况进行总结。教师对学生暴露出来的共同难点进行进一步的讲解,从而达到巩固学生对知识的理解和掌握的目的。教学实践表明,学生认为《软件工程》难以掌握的关键原因在于不了解软件企业实际的软件开发过程。为此,可以将校外实践部分放到企业进行。聘请有经验的软件工程设计师为学生讲课,带领学生完成实际软件项目的开发。这样有利于学生把课本的理论知识与生产实际相结合,极大地提高了教学效果。同时,学生深入了解了软件企业实际软件开发过程和工作环境,有利于学生进行职业定位,增强学生对软件设计师工作的憧憬,进一步点燃学习热情。

5课程考核方式改革

《软件工程》的教学目标是在学生掌握软件工程基本原理和方法的基础上,培养学生软件分析、设计和开发能力。因此考核不应强调对理论知识的死记硬背,而是学生能否将软件工程学的思想和方法贯彻到软件开发过程中。为此,改革传统的“一张试卷定成绩”的考核方法。在翻转课堂的教学模式下,课程考核由四个部分构成:平时成绩、校内实验成绩、校外实践和期末考试。其中平时成绩占10%,包括课前在线讲义学习、在线观看视频、课前测试三部分。实验成绩占15%,主要根据实验完成情况及报告质量评定。校外实践成绩占15%,由企业老师评定。期末考试成绩占60%,主要包括基本理论知识类、分析类、设计类考题。采用这种方式考核,强调学生对知识的理解与应用,能够激发学生学习的主动性和创造性思维。

6结束语

“翻转课堂”作为一种新的教学法。它提倡以学生为中心,先教后学,可以克服传统教学法在软件工程课程教学中存在的缺陷,有效地提高了学生的自主学习能力。同时本文开发了《软件工程》课程辅助教学微信小程序,将线上教学和线下课堂有效结合在一起,提高了本课程的教学效果。对课程的实践环节采用“校内实验+校外实践”模式,校内实验采用任务驱动法,校外实践采用校企合作模式,真正实现了将书本理论知识与实际软件的开发过程相结合,培养学生的软件工程应用能力,从而实现本课程的教学目标,极大地提高了课程的教学效果。

参考文献

[1]SidikSoleman,AstushiFujii.Towardplagiarismdetectionusingcitationnetworks.TwelfthInternationalConferenceonDigitalInformationManagementIEEE,2017:12-14

[2]时毓,欧阳菲,等.“翻转课堂”模式教学方法探索-以《地质学类专业英语》课程为例.教育教学论坛,2017(37):155-156

[3]马凯,姜延.基于微课程的翻转课堂教学设计实践.计算机教育,2018(10):97-100

[4]陈耀东.软件工程案例教学设计-以移动通讯录开发为例.教育现代化,2018(39):214-215

[5]夏庆利,罗一清.大学翻转课堂教学效果实证研究—以《财务学及技术基础》课程翻转教学为例.大学教育科学,2017(2):47-56

作者:张霞 张雯棼 单位:湘南学院软件与通信工程学院