杨波 许福 陈志泊
关键词:软件工程;课程思政;教学探索
1引言
2016年12月,全国高校思政工作会议指出:“要坚持把立德树人作为中心环节,把思想政治工作贯穿教育教学全过程,实现全程育人、全方位育人。”“软件工程”作为高校计算机科学与技术、软件工程等专业的必修课程,如何利用课程思政的思想来助力软件的开发与应用,如何将课程思政与“软件工程”课程的理论知识进行有机融合,如何将这些知识很好地传授给学生,是目前课程思政建设的一项重要工作。
如今,“软件工程”课程思政面临一些难题,主要表现在两个方面。第一是“软件工程”课程教学内容多,教学时间却偏少,留给课程思政的时间较少。第二是挖掘“软件工程”课程中的思政内容较难,“软件工程”课程偏重软件开发过程中的理论知识,较难挖掘其中的课程思政内容。
为此,经过多年开展“软件工程”课程教学,在调研我国基础软件面临的一系列问题的前提下,本文提出了针对“软件工程”课程的思政教学探索。本文主要从我国基础软件面临的一些困境,尤其是基础软件还比较薄弱的情况,重点阐述在软件开发的过程中,将理论知识和基础软件的现实情况相结合,对涉及的具体情况进行解析和总结,从而激发学生投身我国基础软件开发的热情。
2“软件工程”课程思政研究现状
针对“软件工程”课程的培养目标和教学实施,有许多研究者提出了相应的课程思政方法。例如,邓娜等[1]针对“软件工程”实践课程的特点,提出了基于“主动思政”和“体悟践行”的思政教学模式,并从课程前期准备到项目实施,从课程内外几个方面,来实施课程思政。张自力等[2]从“软件工程概论”课程的基本知识点、教学案例和课程实践3个维度,提出从课程的传授、知识领悟、探索等角度来探索“软件工程概论”课程思政的教学方式。
还有一些研究者从工程认证教育出发,提出了相应的课程教学方法。例如,黄兰英等[3]从工程教育认证的角度,提出了基于“OBE+思政”的软件专业人才培养框架,并以实际案例讲解了教学过程。刘强[4]基于OBE理念对整个教学方案进行了改造和优化,重新设计了课程学习目标、教学内容框架、项目实践方法和课程实验环境等。除此之外,还有一些从新工科的角度提出课程改革。例如,陈志刚等[5]围绕价值引导,针对新工科改革内容,在育人文化、培养体系和教学管理过程等方面进行实践。
上述文章对“软件工程”课程思政教育研究起到了一定作用,是我们继续開展课程思政研究的参考。针对国产化基础软件开发面临的问题,本文提出了面向“软件工程”课程思政的教学方法,重点在于将目前基础软件面临的基础不强和仍然存在“卡脖子”的问题,融入“软件工程”课程的教学过程中。基于此,我们对“软件工程”课程内容及教学方法进行了规划,具体表现在以下几个方面。
2.1更新教育理念
(1)将“软件工程”课程内容进行重新组织,在其中增加课程思政的内容。
(2)在软件工程概述、软件需求分析及软件设计、开发、管理和维护等内容中增加相应的课程思政内容,结合相关理论和实践知识的讲解,课堂内容的深度和广度都得到了增强。
2.2规范教学管理
(1)对理论课和实践课进行规范化管理。理论课上重在传授“软件工程”的基础知识和方法,实践课重在动手开发。根据两类课堂的侧重点,对教学管理进行了区分,相应的课程思政内容也有所偏重。
(2)理论课上,从讲课、提问到分析都制定了相应的课程思政内容。另外,结合目前软件工程中遇到的实际问题,进行深层次的分析。
(3)实践课上,针对理论课上提出的课程思政内容,让学生在真实的软件开发、测试和维护的场景中,体会“软件工程”课程思政的内在含义。
2.3促进学生持续发展
(1)在软件需求分析这一部分中,增加了目前许多大型企业软件项目中使用的敏捷开发方法,重点讲解敏捷开发中用户故事的创建与验证,并设计了相应的实验环节,让学生从实践的角度去体会需求对软件工程的重要作用。
(2)在软件设计、开发、管理及维护这一部分中,增加了开源软件的介绍和管理。帮助学生利用好开源软件,并且增加了开源项目管理工具Git,同时设计实验帮助学生进一步理解软件项目的开发与管理。从中不仅可以帮助学生掌握相关知识,也能使其体会软件的开发过程是一个相互协作的过程,需要全体人员齐心协力来完成。
(3)在软件测试与验证这一部分中,增加了可信软件的内容,帮助学生去理解软件测试与验证的关键性,并提供实际的案例来进行分析和讲解。
3“软件工程”课程思政内容设计
为了对“软件工程”的课程思政内容进行设计,首先需要结合我国面临的基础软件薄弱的现实情况,对课程内容进行分析。经过分析和总结,对“软件工程”课程内容进行重新设计,将课程思政的内容融人其中。其中,软件工程概述,软件需求分析及详细设计,软件过程管理,软件设计,开发和维护,软件测试与验证这五大部分都增加了相应的课程思政案例。具体如下。
(1)在软件工程概述中,重点介绍国产软件的现状,尤其是比较好的国产软件,以树立学生对国产软件的信心,将关键核心技术自主可控的决心融人“软件工程”课程教学的过程中。
(2)软件需求是软件开发的基础,因为需求是创新之源,课堂中可以从我们内外循环的需求来讲述国家的发展,正是因为有了这些需求,才有内循环和外循环。
(3)在软件项目管理中,可以从国产软件面临的问题,重点阐述软件项目管理在其中的作用。另外,在课程中还可以介绍国内外大公司项目管理的成功经验,尤其是敏捷开发的实际案例。
(4)针对软件设计、开发和维护,主要可以从两种典型的软件开发方法人手,介绍其中的理论和实践知识,同时增加相应的课程思政内容。例如,结构化软件开发采用的是用户至上的原则,结构化、模块化、自顶向下地对系统进行分析和设计的方法。面向对象方法的本质是主张参照人们认识一个现实系统的方法,完成分析、设计与实现一个软件系统的过程,提倡用现实生活中常用的思维方法来认识、理解和描述客观事物。这与平时生活中关注和处理事情是一致的,都是用客观规律与方法来指导学习和生活,做到实事求是。
(5)软件测试和验证是保证软件可靠性的重要手段。这部分课程可以结合人类历史上出现的飞机失事的典型案例,介绍其中软件测试与验证可以发挥作用的地方。值得注意的是,2019年华为的一号文件中提到了《全面提升软件工程能力与实践,打造可信的高质量产品》,这里就是说软件工程领域需要提升,目的是打造可信的高质量产品。
在进行“软件工程”课程思政时,需要将理论与案例结合,即将理论知识与思政内容融合,通过实践结果与思政内容的映射,并结合实际效果对教学内容和教学方法进行总结与评估。具体可以采用如下步骤:授课教师参与课程思政及实际案例的设计;学生根据实验任务书和实验内容,开展课程实践;教师与学生一起分析实践案例,并根据教学及实践结果进行相关分析,从而把分析结果反馈给学生;学生得到反馈后,再与授课教师探讨,从而继续对实践案例进行完善:授课教师和学生进行迭代和总结,在不断的探索中,完善案例与实践内容。
4“软件工程”课程思政内容的实践框架
为了更好地让学生参与“软件工程”课程思政教学,授课教师需要设计课程思政的实践框架。其中,包括思政内容与课程理论知识的融合、课程内容的讲解、实践案例的开展、实践结果分析、实践结果与思政内容的映射总结等。
首先,授课教师需要全程参与课程讲授和分析。其次,授课教师结合具体教学内容,包括课程理论知识及课程思政内容,设计相应的实践案例。一方面,这可以进行理论知识与课程思政内容的融合:另一方面,也可以为后续设计实践案例做准备。在进行实践时,需要给学生提前讲解其中的背景知识和所用的方法,后期還需要指导学生进行分析与总结。
“软件工程”课程思政教学的一般框架如图1所示。针对“软件工程”课程的某理论部分,分为如下几个步骤来讲解。首先,根据课程理论知识,调研相关思政内容的细节,这里需要收集与整理时事、政治等相关材料。
教师在课堂上对具体理论知识和思政内容进行讲解的过程中,要顺其自然地引出课程思政的内容。例如,谈到软件危机时,不仅讲述历史上的软件危机,也需要谈一谈国内基础软件面临的软件危机。如此一来,学生不仅可以了解历史上的软件危机,也可以了解现实生活中面临的“软件危机”
教师还要基于讲解的理论知识与思政内容,尽可能地构建可以实践的应用场景。例如,在讲解完软件测试与验证的理论知识时,可以讲一些软件中存在的故障,其可能会引发重大的人身财产安全问题。在此,可以以近年来的飞机失事为案例,重点说明软件中存在故障的危害,从而增强学生对软件测试和验证的重视。在实践的过程中,可以找一些飞控软件、汽车刹车软件或电梯软件的测试、验证案例,让学生理解和掌握软件测试、验证理论与应用知识。
在构建好实践应用场景之后,就可以规划实践的开展。针对实践案例的背景,可以进行具体的功能分析,找出其中能够应用理论知识的场景。在进行实践之前,教师需要讲解实践前的预备知识,并分析实践步骤的基本原理和基本思路。此后,可以整理出实践报告模板。接下来,指导学生进行实践并收集实践结果。最后,还需要对实践结果进行分析和反馈,以便应用到后续的教学和实践中。
实践结果需要相应地进行映射,将思政内容也贯穿其中,帮助学生将理论知识与实践知识充分融合。如此一来,学生既收获了“软件工程”课程相关理论与实践知识,也明白了课程思政内容与现实的对应关系。
5结束语
本文研究了面向本科生的“软件工程”课程思政教学,其中包括课程思政教学的一般框架,结合该框架讲解了其中的内容,并给出了几个具体的实例。将一般框架和理论与实践相结合的方法,应用到本科生课程思政教学的分析与设计中。
由于“软件工程”课程的理论性较强,如何做到思政内容与理论实践的紧密结合,还需要进行多轮迭代,在教学中不断改进。团队会继续加大对“软件工程”课程思政材料的收集与分析,并根据这些材料整理出相应的实践案例,把课程思政落到实处,真正体现出“坚持把立德树人作为中心环节,把思想政治工作贯穿教育教学全过程,实现全程育人、全方位育人”。