专业课程实施“课程思政”的方法与创新应用研究
——以软件工程专业《软件建模》为例
2019-03-22屈卫清程萍
屈卫清,程萍
(宁波大红鹰学院信息工程学院,浙江宁波 315175)
思政教育一直体现在高校人才的培养方案中,在整个课程体系中占了相当的比例;而专业教师所承担的专业课程,则主要强调专业知识、技术或工程实践的掌握,一直来似乎与思政关系甚远,思政元素在课程中的体现很少。在国家的重视下,各大高校高度重视专业课程的思政教学工作,并要求逐步地落实到专业课程教学的每一节课堂上。
1 专业课程思政教学方法与路径
专业课程的思政教学工作可以体现在两个层面上:一个是课程总体设计,另一个层面是与知识点的结合。首先从课程在专业课程体系中的定位入手,清楚课程的作用与地位,明确课程在人才培养中除了知识与技术之外所能发挥的作用,主动将思政元素融入课程中,包括课堂案例的选择与引导,平时练习题目的设计,课程大作业的设计选择。
1.1 基于专业目标的思政教学
专业课程的思政教学不能脱离课程本身,而每门专业课程在人才培养课程体系中均有各自的定位,因此专业课程的思政教学应该在专业总体目标下的实施[1]。作为民办地方高校中的软件工程专业,以培养满足区域行业需求的应用型软件工程人才为目标,因此学生的软件编码能力是最主要、也是最基本;同时,软件设计能力、软件质量与管理能力也是软件工程专业学生的必备专业能力,为此从专业技术能力角度,着重培养学生三大核心专业能力:系统分析设计能力、网络系统开发能力和软件质量与管理能力。
1.2 基于专业素养的思政元素设计
每个专业有不同的专业素养培养目标。软件行业要求从业者具有细心、协作、沟通、进取精神;由于新技术的不断涌现,要求有较强的自学能力与知识更新能力;由于软件业作为技术服务行业,要求有主动发现问题、查找问题、分析问题与解决问题的能力,具有成本意识,效率意识;同时要具有全局、架构的概念[2]。
1.3 基于项目设计的思政课程教学活动
项目化教学因课程而异。对于软件工程专业,诸如开发课、设计类、管理类等专业课程都可以进行项目的设计。根据课程特点,可以进行一个综合项目的设计,并将其分解为多个小项目,结合到各个知识模块中;也可以为各模块知识的学习设计简单的小项目,再课程最后设计一个综合的项目[3]。通过项目的训练,可以培养学生循序渐进、稳扎稳打工作作风;而且大项目可以分小组完成,以培养学生协作、岗位分工的意识。
1.4 结合信息技术平台的思政课程教学
现代信息技术与各学科教育教学呈现出日益融合,该校在蓝墨云平台的使用已较广泛开展,利用平台对课程的资源、作业可进行实时发布,同时可以进行考勤、作业提交批复等进行时间管理等,培养学生利用现有信息技术进行学习、资料检索的习惯,培养其对时间、效率的敏感度;同时强调作业要独立完成,强调诚信的重要性。
2 《软件建模》的思政教学创新设计
《软件建模》课程的教学目的是培养学生掌握系统分析与设计能力。这是一门承前启后的专业课程,使学生从软件编程的认知层面上升到软件工程,逐步建立工程意识。在授课过程要通过具体的知识、技术、案例,使学生建立架构、系统、体系等的概念,掌握包含UML基础,用例建模、静态建模、动态建模和物理建模的知识与技术、双向工程以及软件统一过程RUP 等内容。
2.1 课程思政目标
(1)严谨:系统设计一定要有严谨的态度,能够从各个不同的角度分析系统功能、模块设计的合理性,以提升开发效率。
(2)包容与协作:针对同伴之间出现的问题,或者偶尔的不和谐,要鼓励学生们用包容的态度去对待问题。系统设计不可能一人完成,但在学习阶段练习各个模块,为此鼓励大家同学之间,同伴之间养成互帮互助,相互协作的氛围。
(3)创新意识:以学生对信息技术的现有认知基础为前提,扩展生活中的信息技术应用,以购物软件、微信、移动支付、娱乐等的介绍,并简单说明这类软件的运行原理,以及软件技术对改善生活便利所起的作用。分析现有软件中的不足与有待提升之处,引导学生对身边的生活、工作其他环节想要改变的思考,开启学生用软件技术实现自己的小理想。
(4)社会责任心:软件行业发展迅猛,新的软件层出不穷,鼓励学生从调研自己熟悉的环境、行业、亲戚朋友从事的业务,或者是感兴趣的领域,找出其中可以改善或提升的空间,利用自己的所学的软件工程的知识与技术,为社会作出贡献[4]。
(5)爱国:分析软件功能设计及软件业的发展,说明中国的电子商务、移动支付等应用软件的功能与性能都是走在世界前沿。
2.2 课程思政元素设计
2.2.1 模块1:UML 概念
思政要求:从软件工程、UML 发展历程,培养学生具有包容的品格、不断进取的精神,熏陶爱国、自信精神[5]。
知识点结合: 不同建模软件并存,UML 的不同版本提升。分析学生熟悉的社交软件、移动支付等系统,说明软件在发展,国内的软件业有的已经走向世界的前沿。
2.2.2 模块2:用例建模
思政要求:从参与者的需求分析,培养学生具有全局观、尊重团队所有的参与者的理念。
知识点结合:从学生熟悉的银行存取款入手,要求学生写出个人客户10 个以上的功能需求(并由5 个以上学生补充),抽取其中的ATM 取款,让一个学生讲解操作流程,提问:如果发生意外情况如何设计流程,让学生对每一步主流程分析可能发生的意外情况,并给出其认为合适的应对与操作。
2.2.3 模块3:静态建模
思政要求: 培养学生先分析后设计的系统开发意识,为用户着想的思想。
知识点结合:以银行管理系统为例,让学生分析有哪些系统用户:包括各类客户与工作人员,同时从这些用户的需求出发,分析系统中可能出现的事物性对象,再分析在业务流程中,可能会用到的各类记录、表单等,最后分析设计过程中可能发生的概念性对象。基于这些分析,确定实体类,并明确这是系统中最重要的支撑概念,一切从系统用户的需求出发,并尊重用户的选择。
2.2.4 模块4:交互图
思政要求:培养学生的社会秩序感、相互合作精神。
知识点结合:从ATM 取款顺序图的设计,以时间为纵轴,分析模块中各对象之间的消息交互,明确所有功能的完成与实现必须在一定的规则下,各类角色相互配合才能完成。协作图的设计,说明对象之间的消息交互的多样性,引导人与人之间是有交流的,而且应该是和谐的。
2.2.5 模块5:状态图与活动图
思政要求:培养学生的目标感、脚踏实地做好该做的事情。
知识点结合:分析在教学管理系统中学生的状态,从录取进入系统开始,经历报到、注册、每学期的课程学习、毕业资格审核到毕业,说明每个状态都是息息相关,而且都要经过一定事件与条件才能进入下一个状态,引导学生关注每一个阶段,学习要一步一个脚印、脚踏实地做好该做的每件事情。
2.2.6 模块6:物理建模
思政要求:通过物理建模软硬件配置的设计,培养学生脚踏实地的作风。
知识点结合:通过淘宝购物平台架构的整理,及其配置图的设计,引导学生去探索,去把图纸上的元素与实际应用系统的服务器、扫码器、客户端等联系起来,明确所有的设计都要落地,都是要真正运行起来的。
2.2.7 模块7:双向工程与RUP
思政要求:培养学生要学会借用工具,提升工作效率、质量。
知识点结合: 用类图通过正向工程得到JAVA 程序的框架性代码,同时通过反向工程从代码转换类图,提升二次开发的效率。
2.2.8 大作业
思政要求:关心社会需求,提出解决方案。
知识点结合:找出自己感兴趣的行业或身边资源,确定设计一个可以提高其生产管理效益的应用系统,对其进行需求分析,并进行用例建模、静态建模、动态建模与物理建模。
3 思政教学下的课程教学质量提升预期
将思政元素融入《软件建模》课程的教学,可以有效提升软件工程专业课程的综合教学效果。
提升学生对专业的认知: 软件工程专业为社会的发展服务,可以解决社会生产生活中的诸多问题,提高生产、沟通效率,降低社会成本[6]。
提升对课程的地位认知,《软件建模》 使学生从单一的语言程序进入到包括需求分析、功能设计、概要设计、代码实现、测试、交付与维护的系统层面,建立起工程的概念。
引导学生思考自己为什么学,如何学得更好,并逐步与志同道合的同学组成项目开发团队。
引导学生分析社会需求,感知专业地位,认识自身价值,并思考、练习使用自己所学知识服务于社会,立足于社会。