APP下载

融入程序设计与算法基础的课程思政方案

2023-07-16白忠建王瑞锦陈安龙

软件导刊 2023年6期
关键词:胜任程序设计思政

吴 劲,白忠建,王瑞锦,陈安龙

(电子科技大学 信息与软件工程学院,四川 成都 610054)

0 引言

《高等学校课程思政建设指导纲要》指出:工学类的专业课程,要注重强化学生的工程伦理教育,培养学生精益求精的大国工匠精神,激发学生科技报国的家国情怀和使命担当[1]。计算机课程体系规范CC2020工作组也将胜任力作为核心需求[2-3],提出了“胜任力”计算教育模型[4]。基于《指导纲要》和《计算机课程体系规范2020》要求,本文提出基于胜任力的程序设计与算法基础课程思政方案,润物细无声地融入社会主义核心价值观教育、算法伦理与职业道德教育、中华传统优秀哲学思想等思政元素,在专业课程的学习与实践中帮助学生们塑造正确的世界观、人生观和价值观。

1 基于胜任力的思政元素融入方案

胜任力对于计算机相关领域而言是一个较新的概念,几十年来,计算机相关课程更专注于知识的传授,而胜任力是一个以人为中心的概念,知识只是胜任力的一个组成部分。从基于知识的学习进化到基于胜任力的学习,可以使学生具备的能力与未来实际工作场景所需的专业能力更加一致[5]。

《哈佛大学胜任力词典》定义和解释描述了什么是有用的胜任力(Competency),即一个人能胜任特定工作、角色、职能或任务,包括与工作相关的行为(一个人说什么或做什么会导致良好或不良的表现)、动机(一个人对工作、组织或地理位置的感受)和技术知识或技能(知悉和掌握职业相关的技术、流程、工作方法、组织流程等)。胜任力是通过对工作和角色的研究来确定的[6]。

欧盟委员会的数字胜任力框架确定了数字胜任力在5个方面的组成部分,可以概括为:①信息和数据素养;②沟通和协作;③数字内容创建;④安全;⑤解决问题[7]。”软件工程胜任力模型将胜任力定义为“在规定的水平上进行工作活动的能力证明”[8],描述了参与软件密集型系统开发和变更的软件工程师的能力。文献[9]认为,胜任力代表认知、元认知技能、知识和理解知识后的应用、人际交往、智力水平、实践技能以及道德价值观多种模态的动态组合。

《计算机课程体系规范2020》提出了“胜任力”计算教育模型,把“胜任力”应用在计算机教学指导和评估中[4]。“胜任力”可以用以下公式表示:

胜任力(competency)=知识(knowledge)+技能(skills)+品行(dispositions)

知识是“知道是什么(know-what)”的维度;技能是指通过有意识的训练以及与他人交互而逐渐形成的能力和策略,是“知道怎么做(know-how)”的维度;品行包括道德水平、团队协作能力、社交技能、意志力等,是“知道为什么(know-why)”的维度。品行控制着个人如何使用技能,是最具挑战性的。课程思政元素与品行维度紧密结合,并有机融入知识传授与能力培养。

程序设计与算法基础是电子科技大学信息与软件工程学院软件工程专业的第一门专业基础课,分为两个学期三大课程模块进行组织实施。课程思政方案与课程方案紧密融合,在三大课程模块中各有偏重、逐层细化、螺旋式上升地实现基于胜任力融入思政元素的程序设计与算法基础课程方案。

具体课程框架如图1所示。

Fig.1 Curriculum framework of "fundamentals of program design and algorithm" based on competency integrating ideological and political elements图1 基于胜任力融入思政元素的程序设计与算法基础课程框架

大一上学期的模块1(程序设计与算法基础Ⅰ,48学时):以C语言为载体,唤起学生的好奇心,引导新生探索软硬件协同工作机理,精心设计基于自主研发的icoding线上实验及编程能力测试平台实验项目,培养学生抽象问题、提取计算需求的能力,以及从问题出发设计并实现算法的能力,提升学生掌握核心软件技术的信心。

承上启下的模块2(程序设计项目实践,大一上,16学时):采用基于项目的学习方式,培养学生的表达能力、思辨能力、创新能力、团队协作能力,为学院培养和输送竞赛学子。从模块1和模块2就开始启发学生思索程序设计的本源问题,培养软件工程思维模式。

大一下学期的模块3(程序设计与算法基础Ⅱ,48学时):要求学生在掌握数据逻辑、存储结构及其操作和算法基础上,逐步具有深度优化程序的能力,形成开发核心基础软件的潜力。引导学生思索算法伦理与职业道德要求,培育精益求精的大国工匠精神。

将核心软件自主可控、社会责任感、精益求精的大国工匠精神、算法伦理与职业道德等核心素养融入课程,将价值塑造、知识传授和能力培养融入基于胜任力的程序设计与算法基础课程框架,通过课程不同阶段的思政案例,培养学生的爱国、敬业、诚信、友善修养,自觉把小我融入大我,不断追求国家的富强、民主、文明、和谐,将社会主义核心价值观内化为精神追求,外化为努力学习、科技报国的自觉行动。

2 思政实施方案

程序设计与算法基础课程打破了程序设计语言、算法、数据结构、开发方法之间的界限,打破了课程壁垒,对原有课程进行了深度融合,不是简单、机械地对课程内容进行堆积,而是对课程进行系统性整合与深度优化[10],并把基于胜任力的思政元素融入其中。既保证了课堂学习的挑战性,又大大减少了学生课堂内需要学习的课程数量和学时数,从而为学生课后自主学习留下更多时间和空间。

课程引入同伴指导模式,通过互相指导、共同进步,培养互帮互助精神,进而提升团队合作能力[11]。同伴指导是一个学习者定期观察同伴,并向同伴提供支持、帮助和反馈的过程[12]。学习者和同伴一起学习和实践,分享想法、互相支持、互相教导,反思当前的实践,建立新的技能或解决问题的方案[11]。

直击程序设计本源,培养学生的高阶程序开发能力。建立“SPOC+icoding线上实验及编程能力测试平台+雨课堂”的智慧学习系统,在课堂学时有限的情况下,充分利用线上资源,构建以学生为中心的知识和能力内化途径。引导学生完成SPOC中的基础类知识模块,并理论联系实际,完成icoding的上机实验,引导学生追求精益求精的大国工匠精神。教师根据学情反馈,利用线下课堂和雨课堂针对性地梳理重难点,对课程的深度和广度进行扩展。

回归程序设计本源,程序设计和算法理论与项目实践一体化设计。利用互联网和人工智能技术赋能教和学,实施以学生为中心的线上线下混合式教学模式。基于自主研发的“学、练、测、评、赛”五位一体的icoding 线上实验及能力测试平台,实现了面向程序设计能力测试的icoding机考,提高了学生能力和素质评价的科学性。

在知识传授和能力培养的同时,润物细无声地融入课程思政元素和思政案例,培养学生的爱国主义精神、软件工程思维、创新思维和时代精神。

2.1 程序设计与算法基础I课程思政实施方案

在第一堂课“程序设计引论”中首先介绍课程的总体框架、配套的线上资源,包括配套的SPOC(https://uestc.yuketang.cn/)与在线实验平台(https://icoding.run/login)。告诉学生其进入了人生的一个崭新阶段,已经长大成人,需要适应大学课程的节奏,结合课程考核方式调整自己的学习方法,养成自主学习的习惯。

程序设计与算法基础Ⅰ、Ⅱ的综合考核方式含形成性评价(平时考核)和总结性评价(期末考核),其计算公式如下:

综合评价成绩=SPOC成绩(10%)+icoding线上实验平台编程实验成绩(40%)+期末考核成绩(50%)

其中,SPOC模块和icoding线上实验模块不占用课堂学时,采用线上自主学习和练习模式,自动给出测评分数。需要提醒学生们注意线上平台练习的截止提交日期,养成守时、守信的契约精神,学会合理安排学习时间。

然后进行学生基础的摸底调查,针对不同基础的学生给出针对性的学习和练习方式建议,并建议学生们加强沟通和交流,可以尝试结对编程,形成学习小组,讨论上机实践中遇到的问题,共同学习、共同进步。

在简单介绍冯·诺依曼计算模型的基础上,用一系列问题引出课程思政案例:是否了解华为公司?听过华为公司的智能基座项目吗?华为为何会建立该项目?美国为何打压民营企业华为?接着以图2的华为鲲鹏开源计算产业链与软硬件架构对照图为蓝图,引导学生们思考为什么要掌握核心软件技术、怎么掌握核心软件技术,引导学生以具有低级语言特点的高级程序设计语言C语言为载体,去触碰、探究计算产业链,引导其探索软硬件协同工作机理,启发其思索程序设计本源问题。向下能唤起学生探索汇编层、操作系统层、指令集架构层、微代码层的兴趣,向上能从本源上理解软件体系架构。同时让其了解,软件工程专业的学生担负着为国家软件自主可控战略需求添砖加瓦的任务和使命,从而激发学生科技强国的使命感。

可以通过抛出一个个问题的方法进行互动,激发学生的兴趣,师生在情感交流中产生“共鸣”。与时俱进地与企业进行深度合作,更新教学案例的内容,深化产教融合、协同育人,使得案例更具有时代特点。以著名民营企业华为的鲲鹏计算产业及鲲鹏生态体系全景应用为例融入思政元素,说服力更强,更容易让学生信服,也更容易在思想和情感层面产生认同感,唤起学生对计算生态系统的兴趣和好奇心。

以立德树人为根本,使大一新生就能体验“产教协同育人”的专业特色,培养学生服务国家软件自主可控战略的意识,提升学生掌握核心软件技术的信心。

2.2 项目实践课程思政实施方案

程序设计项目实践属于学校立项的新生项目实践课程,在程序设计与算法基础Ⅰ、Ⅱ课程之间开课,起到承上启下的作用,也是学院一体化实践教育体系的第一门实践课程。学院的实践教育采用两贯穿、一融合模式,校内工程实践递进式贯穿,校外企业育人全链条贯穿,校内外校企协同育人交错迭代融合。

软件工程专注于创建基于软件的解决方案,但其远不止是程序设计,需要采用适当的软件工具开发新的软件系统,学生应具备将工程的严谨性与数据结构和算法选择技巧相结合的能力。在新生项目实践课上,让大一新生以项目小组的方式参与软件工程项目的完整过程:从需求分析、概要设计到详细设计,应用刚学会的C语言进行项目的代码实现,并测试其功能。最后完成项目报告文档,制作项目汇报幻灯片,并进行项目汇报和演示。

程序设计项目实践总成绩由4部分构成,计算公式如下:

综合评价成绩=项目文档(40%)+演示文档(20%)+表达能力(20%)+项目实施(20%)

项目文档和演示文档中要说明项目从需求分析、概要设计到详细设计、实现、测试的过程,并说明团队的分工和协作方式、团队成员在其中的贡献等信息。通过项目小组的组建、组长推举,到项目选题的确定、项目的实施与结题,每一步都引导学生们体验团队协作的重要性,激发每个组员的责任感,培养其互帮互助、积极进取的精神。在选题上可以与社会热点相结合,注重培养其社会责任感,还必须按软件工程项目实践的要求,让每个学生体验从需求分析到设计、实现与测试的完整过程。例如:20级的一个小组选择了地区疫情风险模拟和评估项目,通过建立链表和坐标系实现对病人信息的管理,并对某地区进行疫情风险模拟分析,在锻炼自身的能力的同时,也希望对疫情防控作出自己的贡献。

2.3 程序设计与算法基础课程思政实施方案

大一下学期程序设计与算法基础Ⅱ的第一堂课引入了周易的乾坤二卦,乾卦:天行健,君子以自强不息;坤卦:地势坤,君子以厚德载物。既体现了中国古代先贤的哲学思想,传承了中华传统美德,又分析了其中蕴含的二进制思想、蕴含的计算思维方式,帮助学生们建立文化自信。

在学习二叉树时,引入中国传统文化中的“太极生两仪,两仪生四象,四象生八卦”,形成了一棵漂亮的完全二叉树。《易经》和八卦系统是建立在阴阳基础上的符号系统[14],是中国古代研究宇宙间事物发展规律的学问,是对宇宙世界的建模。《易经》是以中华文化为代表的东方思维的精华,其辩证思维具有整体性、模糊性和不确定性,强调形象思维、想象力或悟性,以事物性质分析和系统设计见长。而西方文化和思维的主要方式为逻辑思维或分析思维,主要特点是具有孤立性、准确性和确定性,其强调形式化和形而上学的方法,以数量分析、逻辑推理和系统分析描述见长。

东方太极思维以形象思维为主、逻辑思维为辅,采用归纳和推演等多种手段,是对事物进行描述和本质分析的辩证思维方法,也是对现代科学发展的有益补充。采用该教学方式可进一步激发学生们热爱和传承中华传统优秀文化,建立文化自信,爱国爱家。

经过大一上学期2个课程模块的磨练,学生的编程能力有了很大提高。该阶段要求学生在掌握数据的逻辑、存储结构及其操作和算法基础上,逐步具备深度优化程序的能力。课程的深度和难度比大一上学期有了进一步提升,icoding实验系统中的上机练习除要求正确性外,对时间复杂度和空间复杂度也有了进一步要求,增加了上机实践的难度系数。教师要看得清、摸得准学生的学情,才能因材施教,设计有针对性的目标任务吸引学生,学生则紧跟教师步伐投入到线上和线下的学习中,形成良性互动,促进自身综合素质的提升。

在讲解图的最短路径算法环节,引入2021年7月1日公布的国际超算排名Graph500排行榜,由国防科技大学研制、部署在天津国家超级计算中心的天河三号E级计算机,斩获SSSP Graph500(单源最短路径)榜单和BIG Data Green Graph500(大数据图计算能效)榜单两项世界第一,展现了中国超级计算机的技术实力[15]。天河超级计算机原型机在核心芯片上做到了自主、独立、创新,真正实现了“超算”的全国产。人工智能要依靠算力,谁能占领算力的制高点,谁就有了引领行业发展的基础。该案例增强了学生的科技自信,坚定了其掌握核心软件技术的信心。

3 结语

在课程思政元素设计上可以结合具体算法引导学生思考:怎么拥有深度优化程序的能力?怎么形成开发核心基础软件的潜力?怎么追求精益求精的大国工匠精神?学生既是信息和软件的使用者,也是未来信息软件系统的构建者,引导学生深入地思考算法伦理与职业道德问题对于构建未来健康的信息社会至关重要。程序设计与算法基础课程思政建设是个与时俱进,不断深化、拓展、突破、再出发的过程,未来课程群将会根据学情进一步完善课程思政教育。

猜你喜欢

胜任程序设计思政
思政课只不过是一门“副课”?
关于国企党建与思政宣传有效结合的探讨
基于Visual Studio Code的C语言程序设计实践教学探索
思政课“需求侧”
从细节入手,谈PLC程序设计技巧
思政课“进化”——西安交大:思政课是门艺术
新形势下如何增强会计从业人员职业胜任性
基于胜任力的人力资源管理
高职高专院校C语言程序设计教学改革探索
PLC梯形图程序设计技巧及应用