程序设计基础课程思政教学改革与探索
作者: 徐以美 苏春莉 陈宏
摘要:课程思政在高等教育教学体系中占据重要地位,思政融入专业教育全过程是实现“立德树人”的重要途径。文章以程序设计基础课程为例,介绍专业课课程思政的建设思路、课程设计、实施过程以及评价方式,通过模块化实现思政要点和专业知识的有效融合,构建“点线面体”四维一体的课程思政设计模式,采用课内课外交互补充的教学模式和多维度评价方式,以达成思政育人的教学目标。
关键词:课程思政;程序设计;课程评价;有效融合
中图分类号:G424 文献标识码:A
文章编号:1009-3044(2022)20-0148-02
1 背景
程序设计基础课程是计算机类专业的专业基础课,亦是工科专业的公共基础课[1-2]。C语言历经多年的发展,一直是编程语言界的“常青树”。近年来,在TOIBE排行榜上,C语言一直位居前三的位置,可以说行业对于C语言的需求从未减退。正因为C语言自身的优势和魅力,大多数高校都选择C语言作为程序设计的入门语言。
当前高校教育提倡学生的全面发展和综合素质的提升,并因此进行了一系列的教育教学改革。2018年全国开始推广“课程思政”建设。2020年,习近平总书记在教师节发表重要寄语“殷切希望广大教师不忘立德树人初心,牢记为党育人、为国育才使命,积极探索新时代教育教学方法,提升教书育人本领,为培养德、智、体、美、劳全面发展的社会主义建设者和接班人做出新的贡献”[3]。这表明,当前大学教育不仅要考虑学生知识目标和能力目标的培养,还要重视思政目标的培养,将“教书育人”落地到每门课程中。
在各门课程中引入思政元素的方式各种各样,对于“程序设计”这类课程来说,除了遵循基本原则之外,还要着重培养学生“精益求精”的工匠精神,树立“科技兴国”的远大目标,引导学生形成良好的职业习惯,遵从职业道德规范[4]。
2 课程思政整体建设思路
“程序设计基础”具有覆盖面广、实践性和应用性强的特点。在普及性较强的课程中进行思政设计和融入,能够惠及更多的学生,起到更好的“育人效果”。
本课程本着“全程育人、全方位育人”的理念,结合ICT产业对专业技术人才的需求,以培养学生基础编程能力、构建编程思维、塑造行业素养为目标。在教学设计上围绕“以学生为中心”进行设计,培养具备较强工程实践能力,能够从事系统设计与开发的专业人才。在课程思政方面,以培养学生终身学习能力,有道德、会思考,善沟通为基本目标,塑造学生具有良好的职业素养、超前的国际视野以及大国工匠精神、家国情怀。
课程思政建设思路如图1所示。
1) 课程顶层设计将专业课程知识与思政要点相结合,通过“调研→分析→提炼→实践→评价→反思→改进”的迭代过程,提高思政与专业的融合度。
2) 思政案例采用挖掘“思政教育点”,梳理“思政教育线”,整合“思政教育面”,构建“思政教育体”的“点线面体”四维一体的课程思政设计新模式。
3) 课程实施首先将课程内容模块化并设计相应的思政目标,然后将思政案例融入课程模块,最后采用课内课外交互补充的教学模式和手段,达成专业教育与思政育人的有效融合。
4) 课程评价采用过程性评价、结果性评价、远近结合等多维评价方式,检验课程思政育人目标的达成。
3 课程思政设计与实施
为了更好地达成“专业教育”与“思政育人”有效融合、相辅相成的目标,根据课程建设思路,课程团队主要从以下几个方面进行课程思政的设计和实施。
3.1 教学内容设计
在课程内容上,基于原有的课程设计,课程思政通过分模块的方式融入,根据每个模块知识内容的特点,设置核心的思政要素。思政要素是课程思政工作具体实施的出发点,其源于课程的相关专业知识点但又高于知识点[5]。在思政要素的基础上,搜索和挖掘典型的事件作为思政元素,有的放矢而又不刻意为之,真正达到“润物细无声”的思政育人效果。具体模块分解情况如表1所示。
3.2 教学方法设计
在教学方法上,为了更好地实施思政教育,课程团队深化了原有的课内课外相结合的教学模式。课堂上采用了案例教学、类比、联想以及启发教学等教学方法,培养学生善于思考,勇于实践,追求真理的科学精神。
课内设计有提问、个人演示、小组讨论、组队合作实践、结对编程等活动,在各环节找思政切入点。比如,在课堂上,思政案例往往以课堂“破冰”方式导入,并通过小组讨论的方式让学生自行感受和领悟,做中学、学中做,同时培养学生的沟通表达能力,团结协作能力以及动手实践能力。
课外通过观看微课、作业、OJ刷题、竞赛等活动,提高学生的自主学习能力、创新精神,引导学生树立科技报国的决心和信心。
3.3 教学实施典型案例
1) 在“课程第一课”中通过导入视频展示软件行业发展现状和前景,并组织学生进行讨论,引发学生对未来职业发展道路的思考和畅想。讲解在新冠抗疫过程中软件、智能仪器、信息化系统所起的重要作用,“健康码”的诞生,激发学生的行业荣誉感以及对社会主义核心价值观的认同。
2) 在给学生讲解编码规范的作用时,展示华为软件发展历程和华为编程规范典型案例。引导学生审慎地规范地编排代码以使代码尽可能清晰。规范编程不但是一项非常重要的技能,也是作为一个软件人最基本的素养。“编程之美”会让软件产品避免很多类别的BUG,也会让学生未来的职业生涯更专业。从一行代码做起推及整个行业,引导学生树立遵循行业的标准和规范、职业道德规范意识,推动软件行业发展。
3) 在学习数据类型单元时,引入亚利安 5 号(Ariane 5) 运载火箭事件:1996年6月4日,欧洲空间局(European Space Agency,ESA) 发射的亚利安5号(Ariane5) 运载火箭在法属圭亚那的库鲁发射场发射后仅40秒就爆炸了。这枚火箭经过长达十年的研发,耗资80亿美元后进行首飞,但这一BUG 的结果导致了3.7亿美元的损失。首飞失败的原因是整数溢出,这是计算机编程中一个普遍存在的错误。有人试图在16位空间中设置64位数字。所以说,在编程过程中关注每个变量的长度和大小,不要随意进行混合类型赋值,对数据关系进行细致的分析,养成“精益求精”的开发习惯。只有这样,才能成长为一个优秀的软件工程师,未来才能通过个人的技术为国家的繁荣富强贡献自己的力量。
4) 在函数模块的授课过程中,从函数的优点:避免重复的代码,降低程序复杂度,提高程序的可读性和可维护性从发,引导学生理解“分而治之”的思维方式和问题处理的理念,将复杂的问题分解为一个一个的小问题,解决了一个个小问题,复杂问题也会迎刃而解,复杂工程问题也是如此。此外,通过函数进行模块化编程还解决了一个团队分工和合作的问题,体现了一个团队的协作精神。在授课方法上,通过课堂小组讨论发表观点,培养学生在公共场合的表达能力和个人自信力。
4 课程思政教学评价
通过多元化的评价方式:过程性评价+结果性评价、远近结合等方式,检验学生的思想政治素质、道德文化修养与专业知识的融合度。
建立融目标模式和过程模式于一体的评价模式,过程性评价为主,结果性评价为辅,体现评价的过程性、增值性和综合性。评价机制上设置了“背景评价—课程实施过程中学生思想政治素养发展材料收集(与评价) —后测”三个阶段。思政部分考核占课程成绩的10%。
具体的考核评价采用远近结合和分别测量的方式。远近结合评价是将当前目标和长远目标相结合,系统规划课程思政的长远目标,分解阶段目标到课程模块,在模块内考查阶段性的目标,每学期开展一次系统的测量和评估。分别从认知层面、情感层面和行为层面对课程思政的教学效果进行检测:认知层面通过常规检测手段完成;情感层面通过自我反思、问卷调查、深入访谈等形式完成;行为层面通过行为观察、作品集等形式完成。
5 课程思政建设特色
1) 教学过程全方面引入行业编程规范,依据行业标准培养学生,让学生养成“遵从行业标准规范”“遵守职业道德规范”的习惯。
好的编程规范可以极大降低软件开发过程中的缺陷密度以及后期的维护成本,因此许多大公司都将通过编程规范考核作为软件工程师上岗的必要条件。本课程不仅把编程规范纳入日常教学过程中,还将编程规范纳入评价体系之中。从第一个程序开始到后面的每个语法结构都会单独设置讲解编程规范的环节,通过微课或直接课堂面授的方式传递给学生。在考评标准中,编程规范也给予了一定的分值比例(10%) ,如果程序功能完全正确,但是编程不规范,学生并不能取得满分的成绩。
2) 将校本目标“有道德、会思考、善沟通”通用能力融入课程思政建设。
线上课程通过视频学习任务、线上学习自测培养学生自主学习、独立思考、解决问题的能力;线下课堂通过问题讨论、团队展示、结对编程等环节,使学生在各类活动中学会创新思考、团结协作、有效沟通与表达。
3) 引入真实案例和企业工作流程,使学生的学习“身临其境”,强化科技兴国意识,通过科技故事让学生感受到科技的力量,祖国的强大,并将这种震撼转化为学习的力量。
教学案例选取学生能够感知到的真实软件场景案例,比如3C产品中的软件案例,或者是学生每天都在使用的教学平台、学生服务平台软件的案例,而不仅仅是虚构一个数学问题场景,这样做一方面会刺激学生激发出“探究”的兴趣,另一方面也会给学生从一开始就传递一个“学而有用”的信息,从而激发学生的学习动力。每个单元设计一个科技故事,通过“科技故事”提升学生学习兴趣,真实感受“科技是第一生产力”的深意,树立“科技兴邦”意识。
6 总结
在新工科建设背景下,所有的工科专业课程建设都面临着新的挑战。思政教育如何巧妙、自然地融入专业教育是当前各个专业课程都要思考和解决的问题。程序设计基础课程的思政研究对于编程语言类课程思政建设具有重要的借鉴意义。利用程序设计课程的特点,分模块融入思政元素,并通过多样化的教学设计构建一体化的专业思政融合体系,形成迭代式的课程建设和演进方式。课程建设已形成完备的思政案例及评价模式,并应用于同类课程,取得了较好的效果。
参考文献:
[1] 宋友,李莹,肖文磊.面向大类培养的程序设计“金课”建设思考[J].中国大学教学,2019(11):61-65.
[2] 陈翠红,胡贵恒,黄玲.高职院校C语言程序设计课程思政教学探究[J].现代职业教育,2021(49):20-21.
[3] 代丹丹,唐万梅.Python程序设计课程思政方法与实践[J].软件导刊,2021,20(7):202-206.
[4] 张利华.“C语言程序设计”课程中思政元素的设计[J].计算机时代,2021(5):103-106.
[5] 李振江,王亚婷.面向课程思政的Java程序设计教学新思考[J].计算机教育,2021(11):101-105.
【通联编辑:唐一东】