APP下载

混合式教学在《软件工程》课程理论和实践教学中的探索与实践

2022-06-22张聚礼柯铭

科学咨询 2022年10期
关键词:软件工程课程设计理论

张聚礼,柯铭

(兰州理工大学,甘肃兰州 730050)

我国混合式教学的概念是由何克抗教授引入的,他谈到所 Blending Learning 就是要把传统学习方式的优势和 e-Learning 的优势结合起来,也就是说,既要发挥教师引导、启发监控教学过程的主导作用,又要充分体现学生作为学习过程主体的主动性、积极性与创造性[1]。混合学习形式上是在线学习与面对面学习的混合,但其更深层次是包括了基于不同教学理论的教学模式的混合,教师主导活动和学生主体参与的混合,课堂教学与在线学习不同学习环境的混合,不同教学媒体的混合,课堂讲授与虚拟教室或虚拟社区的混合等[2]。在教学改革探索的过程中,使用混合式教学模式可以充分发挥“线上”和“线下”两种教学的优势,并进行有机混合来改造传统教学,改变在课堂教学过程中过分使用讲授方式而导致学生学习主动性和积极性不高、认知参与度不足、不同学生的学习结果差异过大等问题和不足[3]。我校“面向对象的软件工程”(理论教学)和“课程设计”(实践教学)从软件工程专业招生开始就设置了该课程,2012年开始理论教学和实践教学,至今已8年,该课程针对软件工程专业2年级的学生,每年大约有120位同学选修该课程,已经形成成熟的软件工程案例、视频和相关电子资料,为开展混合式教学奠定了基础。下面就如何开展“软件工程”课程的理论教学和实践教学进行阐述。

一、教学目标

按照工程教育专业认证的理念,按照学校的培养定位,依据能力培养要求,结合课程特点进行目标设计。通过软件工程的理论教学和实践教学(软件工程课程设计),希望达到如下目标:

(一)学习工程理论

理解面向对象的深层含义、基本概念和主要特征,掌握统一过程模型的基本原理;使用用例驱动开发技术,使学生学习如何构建需求模型;在需求模型的基础上,探究系统的内部,项目小组的成员共同努力,使用更强的表达能力和形式化方法,深刻地理解需求,建立分析模型,进一步描述需求使设计和实现更易于进行,便于应对需求变更和重用;理解用例模型、设计模型、实施模型、实现模型的构架视图,掌握设计工作流,学习设计用例、类、子系统等,了解设计模式,规划设计工作,理解软件设计过程;形成良好的编程习惯,掌握黑盒测试、白盒测试和基于非执行的单元测试,掌握实现工作流,进行相关的构架实现,学习实现类、子系统等,学习软件单元、集成和验收测试,理解软件实现和测试过程;使学生了解软件复用技术和主流构件模型。

(二)培养工程能力

在理论学习的基础上,同步开展实践训练以提高学生的工程素养,及时将所学理论应用于解决具体复杂软件工程问题,使学生能够融合专业知识结构,养成对复杂软件工程问题进行深入研究的习惯,培养学生初步的工程研究能力。

(三)提高工程素养

以TSP(小组软件开发过程)为指导,加强团队沟通和协作,培养学生的协作意识,遵循软件工程规范,通过具体的实践项目驱动学生主动学习和实践,培养学生的工程能力和规范化、标准化处理问题的能力。

二、方案设计和实践

混合式教学的最大特征就是混合性,其混合性不仅仅表现在线上和线下的混合,更表现在教学理论、教学方式、学习方式等方面的混合上。混合式教学是教师和学生共同学习的过程,对学生来说,是学习知识的过程;对教师来说,则是学习如何构建优质的混合式教学方案的过程。

(一)在线学习资源建设

理论教学方面。建立在线视频资源,安排学生自学,每小节时间控制在7到10分钟左右,这样注意力更集中,效果会更好,学生也能够利用碎片化时间来开展学习。每章会安排对应的作业和测验,使学生能够通过作业和测验复习、回顾对应的知识。

实践教学方面。建立在线项目示例,便于学生参考,以考勤应用系统、普通高校艺术类招考综合管理系统为模板,针对考生、考点、院校和管理机构等不同角色深入讲解实际项目的开发方法和技术,形成软件工程案例,更好地满足教学要求。同时,要求学生进行同步工程项目训练,便于掌握所学的理论知识。

制作电子书,将相关资源制作成电子书,以便学生阅读和学习。

(二)课内外教学设计和实践

这里涉及两门课程,包括“面向对象的软件工程”理论课和“软件工程课程设计”实践课,教学计划是前12周完成理论教学,最后的3周实践教学,这就造成了理论和实践的脱节,在学习理论的时候,没有相应的实践,最后造成了学生理论可能掌握得很好但不会使用,或者不知道在什么时候使用什么样的技术等问题。现在,采用混合式教学模式,做到理实结合,打通理论和实践不匹配的情形,在线上学习理论教学的同时展开线下课设实践,充分做到理论联系实际。

在理论教学过程中,学生主要通过线上学习来掌握基本理论,课内的理论教学更关注如何将相关的技术应用于工程实践,不再重复介绍线上学习的内容,而且同步开展实践教学,可以使学生更好地将相应的技术应用于工程实际;课内安排相应的讨论,使学生能够更好地了解工程中可能碰到的问题,能够提出对应的解决方案;结合实践教学,给出专门的单元进行小组解决方案展示和讲评,及时指出学生解决方案的优劣,便于学生进一步调整设计思路和开发方法。

在实践教学过程中,从理论教学的第3周开始就给学生分配相关的课设任务,课程设计题目随课程理论教学提前布置给学生,每3-5人为1组,每组可以从给定的选题表中选择一个题目,学生也可以自主选题,以激发学生的主动性。课程设计紧跟课程进度展开,密切配合理论教学,课程设计主要分成几个阶段:1)前期资料查阅,调研业务过程,应用需求工程技术获取软件需求,完成软件需求规格说明书;2)在需求工作流的基础上,进行分析工作流,应用系统分析技术建立分析模型,并验证该模型是否满足软件需求;3)在分析模型的基础上进行设计工作流,结合软件实现技术,建立软件构架,完成构架设计说明书;4)在构架设计的基础上,开展系统的详细设计,建立详细设计模型,完成详细设计说明书;(以上阶段大约在第12或13周完成)5)学习实现工作流,遵循编码规范进行编码实践,养成良好的编码习惯,完成编码规范和代码说明书;(这一阶段大约持续5、6周的时间)6)学习测试工作流,进行软件测试和调试,完成测试的设计、相关的测试报告、建立测试跟踪日志等相关的工程文档;7)整理软件开发各阶段的相关文档,并总结经验;(这一阶段主要在最后阶段集中进行,有的小组可能会出现进度滞后,也会在这时候进行查缺补漏。)8)最后进行课设答辩,学生演示软件,讲解设计思路和关键难点,指导教师对每位学生进行提问,学生通过回答问题、语言描述和实际操作等方式完成答辩。

(三)课内讨论

课内讨论紧跟理论教学和实践教学,同步展开,针对软件开发过程的需求、分析、构架、详细设计、实现和测试阶段开展小组讨论,探讨如何执行工作和任务,如何将所学的技术应用于自己的软件开发项目中,以便对课设开发实践提供帮助。

(四)课外作业和实践

课内讨论时间有限,要完成软件项目的开发,是不够的,各小组课外要针对各自的项目开展课外讨论、学习和调研,将所学理论应用于各自的项目中,为了使项目开发实践能够顺利进行,专门撰写了博客系列文章,为学生提供了有针对性的技术指南,指导学生一步一步去完成整个项目开发过程,以帮助学生理解要使用的技术及如何在项目中去使用这些技术,这需要进一步的学习和实践。

(五)考核方式

课程考试主要采用闭卷的方式,综合考查学生内容的掌握程度,但是考试内容不再局限于理论教学,会涉及工程实践环节,以考查学生理论联系实际的能力;课设仍然采用综合测评为主,强调过程监控和督促,以客观评价学生的动手能力和工程能力。

三、教学效果

混合式教学就是将传统教学的优势与网络化教学优势融合在一起,既充分发挥教师的引导、启发和监控的作用,同时还充分体现学生的主体地位,将学生的创造性和积极性充分体现,这样的融合才能得到最佳的教学效果。通过一学期的教学改革实践,充分利用线上教学和线下教学相结合,理论教学和实践教学相融合,课内学习和课外学习相补充,充分调动学生的学习积极性,取得了较好的教学效果。

混合式教学的评价有各种不同的方法,例如,余胜泉对混合式教学从五个方面进行评价[4]:交互程度、答疑情况、资源情况、作业情况和考核情况;刘智勇提出了多因子相结合的教学评价方式[5],从网络支持平台环境、学生学习和教师教学等方面给出了对应的二级评价指标,其中,教学评价指标包括教学方法、教学态度、教学能力和教学效果等4个一级指标,一级指标又细分为混合式教学设计与课程内容的适应程度、网上学习与课程教学内容衔接程度、学习者积极参与学习的引导鼓励方法、学习者对课程学习兴趣的激发程度等 15 个二级指标。

这里并没有采用上述复杂的评价技术,也没有系统地收集相关数据,但是,作为教学,效果才是第1位的,因此,评价就从教学效果方面进行直观地分析。下面对17届(传统教学)和18届(混合式教学)学生的考试进行对比分析,2届学生考试的试卷都由3部分组成,题目难度大致相当,其中,第1部分为基本理论,主要考查基本理论的掌握程度;第2部分为技术应用,主要考查实际问题分析能力;第3部分结合课程设计实践进行阐述,主要考查工程能力和文档素质。对两个年级的考试试卷成绩进行统计分析,可以了解这两种教学模式对课程的影响,其结果如表1所示。

表1 试卷分析

从统计结果上可以看到,采用混合式教学的学生第2、3部分的提升很明显,尤其是第2部分,着重考查学生的分析问题、解决问题和工程能力,得到了明显的提高,这正是要达到的目标。当然,第1部分的结果出人意料,略有降低,这可能与同学们在线上学习理论知识时不够专注有关,而且,通过问卷调查的结果分析,也证实了这一点,一部分同学对理论学习不够重视,只是为了完成任务而学习,这种情况不在少数,这也是继续开展线上教学需要迫切解决的问题。

四、结束语

本次教学改革实践主要涉及2门课程,1门理论教学,1门实践教学,课堂教学不再局限于传统的理论教学,更多地侧重于发现同学们自学过程中的问题并解惑的过程,实现传统的“灌输式”教学向“引导启发式”教学转变,以培养学生独立思考、解决实际问题的能力。使用混合式教学模式,利用互联网与传统教学方式相融合的形式,可以改变传统单一的课堂式教学模式,使用互联网推送理论学习内容,突破时空限制,教师课堂将侧重点放在实践层面,激发学生的兴趣,使学生由原来的被动学习,变为主动学习,而且,学生可以随时随地进行理论学习和强化记忆,享受学习的乐趣,提高学生的学习能力。利用在线教学平台,可以形成合理有效的沟通,可以及时解决学生在学习在线课程的过程中遇到的问题,在线学习可以真正发挥“互联网+”的优势,使学习不再是单向输出,而是双向的师生互动,很好地解决传统“灌输式”教学中学习者被动学习、缺乏创新等问题,实现个性化主动教学。在线课程资源组织形式多样,内容丰富充实,示例项目基于真实情境,利用案例与理论形成互补,充分发挥各方资源优势,提高情境化教学质量,让学生获得实景化的体验。课程设计不再局限于集中进行,打通课设和理论教学之间的限制,将课设融入理论教学中,使学生能够及时将所学的技术应用于项目实践,加深理论的理解和掌握。教师和学生互相配合,以软件工程项目开发为媒介,充分利用现代通信手段,及时沟通交流,构建了理论教学和工程实践相融合的混合式教学新模式。

猜你喜欢

软件工程课程设计理论
坚持理论创新
神秘的混沌理论
理论创新 引领百年
相关于挠理论的Baer模
龙凤元素系列课程设计
中秋明月
依托工作室的软件工程实践教学研究
基于工程教育认证的《软件工程》课程教学质量建设研究 
关于如何创新和完善计算机软件工程管理的探讨
基于Articulate Storyline的微课程设计与开发