《C语言程序设计》课程思政教学典型案例

编者按
为深入学习贯彻习近平总书记关于教育的重要论述和全国教育大会精神,落实教育部《高等学校课程思政建设指导纲要》文件要求,学校积极推进课程思政建设,深入发掘和提炼各类课程所蕴含的思想政治教育元素和德育功能,并融入课堂教学全过程,努力打造“院院有精品、门门有思政、课课有特色、人人重育人”的良好局面,构建课程思政与思政课程良性共生、同频共振的育人新格局。近期,本中心将通过“每日一课”公众号专栏,陆续推送课程思政教学典型案例,发挥典型案例的榜样示范与辐射作用,交流经验做法,推进课程思政教学创新,塑造课堂自信品格,带动全校课程思政建设水平的整体提高。
一、课程基本情况
课程名称:C语言程序设计
授课对象:信息管理与信息系统专业大一学生
教学章节:第八章第二节字符数组
主讲教师:叶福兰
使用教材:苏小红.C语言程序设计. 9787040519983.高等教育出版社.2019年8月
教学课时:2
课程形式:线上线下混合式教学,PBL,TBL教学
二、课程思政教学改革整体设计思路
1.总体思路
遵循课程思政有目标、课程思政有深度、课程思政有温度、课程思政有趣味的原则,坚持价值塑造、能力培养、知识传授三位一体的育人目标,以OBE理念产出为导向,通过问道、博术和执器三个维度进行巧妙结合,直击学生内心,唤醒探索科学和不断科技创新的精神。立德树人可有道,励学敦行亦无声,让学生整个学习过程体验深刻。在传授字符数组知识,锻炼学生程序设计技能、培养学生逻辑思维能力的同时,将爱国情、强国心、报国志如盐溶水般渗透到在教学大纲、教学体系、形成性评价体系等各个教学环节中,通过多层次的思政融合,坚持知识传授与价值引领相统一。引导学生在疫情学习期间,保持健康积极的心理状态和严谨求实的学习态度,培养学生的工匠精神、创新精神,激励学生不负天将大任于斯人的时代使命。最终形成以思想政治课为圆心,以专业基础课为半径的辐射式教育模式,将立德树人贯彻到课堂教学全过程之中,推动思政课程与课程思政协同前行、相得益彰,构筑育人大格局。

2.教学方法与策略
课堂教学主要采用 PBL 教学法和 TBL 探究法。课前老师发布以问题为学习起点的非结构化问题,并为学生提供可供选择的预习渠道,学生通过查阅资料,归纳、整理得出问题的初步解决方法,课上教师通过分析案例提出问题,学生以组为单位完成任务,再由其他同学或教师进行补充,最后教师对本节重点进行强调,并作出小结。依据学校“课程思政”教育教学改革要求,积极探索 TBL、PBL 教育教学方法,以“中国人民在中国共产党的坚强领导下众志成城抗击疫情”为思政主题进行教学设计,全面推行启发式讲授、互动式交流、探究式讨论的课堂教学改革,增进师生深度对话、交流,增强学生的理想信念,爱国情感,提升课堂思政效果。充分利用爱课程和超星平台教学资源和作业在线测试系统的实验环境,开展“课前预习、课上导学、课后拓展”的教学活动。

三、教学目标
1.知识目标
(1)掌握字符数组的定义及初始化方法;
(2)掌握字符串输入输出函数;
(3)熟练掌握在字符串中查找特定字符的算法;
(4)熟练掌握对字符串加密的算法。
2.技能目标
(1)培养学生读程序、写程序、调试程序的能力;(2)培养学生的程序设计思维,运用程序思维解决字符串处理问题;
(3)培养学生的逻辑思维能力。
3.思想政治教育目标
(1)培养学生探索问题的发展规律,提出问题解决方法的科研素养;
(2)培养学生敢于尝试运用程序思维去处理问题,勇于面对错误,主动去改正错误的挑战意识与责任意识;
(3)培养学生细心、耐心、专心的良好品质。
四、教学重点难点
教学重点:字符数组的初始化,字符串的输入输出。
教学难点:字符串加密算法实现。
五、教学过程
教学环节 |
教学内容 |
设计意图 |
课程思政 融入点 |
时间安排(分钟) |
课前任务布置 |
混合式教学平台:爱课程、慕课堂 |
针对课堂教学主要知识点,给学生布置课前预习任务,并给学生提供中国大学慕课的优质教学资源,供学生自学参考。学生以小组为单位进行知识点预习、讨论与分析,完成预习任务。 |
提升学生的自学能力,培养学生的团队精神与合作理念 |
|
新课导入 |
|
兴趣是最好的老师,精心创设学习情境给课堂注入了探究的动力,营造自主学习的氛围,引发学生强烈的学习欲望。 |
通过与课堂内容相关的当前热点时事新课导入,引发学生好奇心和求知欲望。 |
3 |
学生课堂汇报展示 |
混合式教学平台:爱课程、慕课堂 |
以组为单位,学生结合课前对此环节的预习知识点进行分析讲解,充分展示预习成果,通过自学到讲解教学这一过程完成知识的内化与吸收。发现学生的预习缺口,并通过学生点评和教师点评进行充实与深化。 |
培养学生主动思考的习惯,培养学生科学理性地分析问题,高效准确地处理问题的能力。 |
15 |
教师拓展教学 |
C语言编译系统中,提供了很多有关字符串处理的库函数。使用输入、输出字符和字符串函数时,应在函数前加上头文件”stdio.h”;使用其他字符串操作函数时,则应加上头文件”string.h”。 板书:#include<stdio.h> #include<stdio.h> 一、字符数组的定义及初始化方法 字符数组:存放字符数据的数组。其中每个数组元素存放的值都是个字符。 1.定义字符数组 格式:char 数组名[整型常量表达式]; 功能:定义一个字符数组 如:char c[10]; 定义的字符数组c,最多只能存放9个字符,最后一个数组元素c[9]用于存放字符串结束符′\0′。 2.字符数组初始化 (1)逐个对字符数组的数组元素赋值 char ch[7]={ 'H', 'e', 'l', 'l', 'o', '! '};
说明: a.若花括号“{}”中所赋字符个数大于所定义的字符数组长度,则将视为语法错误处理; b.若花括号“{}”中所赋字符个数小于所定义的字符数组长度,则按字符数组元素在内存中的顺序依次赋值后,未赋值的数组元素将自动赋予字符串结束符′\0′。 二、字符串输入输出函数 1.字符串输入函数 格式:gets(字符数组) 功能:从终端输入一个字符串(可包含空格)以回车为输入结束标志,将接受到的字符一次赋值给字符数组各个元素,并自动在字符串末尾加结束标记”\0”。 如:char s[100]; gets(s); 2.字符串输出函数 格式:puts(字符串) 功能:将一个字符串(以’\0’为结束标志)输出到终端,输出的字符串中可以包含转义字符。 板书:puts(s);与printf(“%s\n”,s)等价 三、字符串中查找特定字符的算法 【案例 1】 新冠疫情时期,我们每天都会看到各大新闻网站发布的确认病例的行动轨迹,对他所乘坐的飞机、火车等交通工具更是具体到座位号信息。那一串串数字和信息背后,体现的是人民群众对抗击疫情的坚持与期待,是公安民警一次次排查与追踪的努力,更是大数据挖掘技术对人类生命的一次保驾护航。大数据挖掘其中一项重要技术就是字符串匹配,本节课采用的一个典型教学案例是字符串匹配查找技术。 【例1】在给定的字符串中,查找一个字符是否存在?若存在,则输出其出现的次数,否则输出该字符不存在的信息。
程序运行结果:
四、对字符串加密的算法。 【案例 2】 科技兴国,一场新冠疫情让全世界看到了中国科技力量的崛起!不论是“火神山”“雷神山”的拔地而起,还是无人机喊你回家戴口罩,这其中都离不开科技的助力,我们的医疗技术和各项领先科技,已经让世界刮目相看。此案例带领学生了解中国领跑于世界的重大科技成果之一量子通讯技术。量子通讯是利用量子效应加密并进行信息传输的一种通讯方式,能用量子态作为信息载体,通过量子态的传送完成大容量信息的传输,实现了原则上不可破译的量子保密通信。量子密钥分发技术也是迄今为止唯一被严格证明是原理上无条件安全的通信方式。作为进一步探索信息保密技术的起点,本节课运用 C 语言知识来实现一种基础的信息加密技术—字符串加密技术。 【例2】为使电文保密,往往按一定规律将其转换成密码,收报人再按约定的规律将其译回原文。例如,可以按以下规律对电文进行加密处理。将字母 A 变成字母 G,b 变成 h,即变成其后的第 6 个字母,U 变成 A,V 变成 B......Z 变成 F。字母按上述规律转换,非字母字符不变。
程序运行结果:
|
教师对本节课重要知识点进行体系结构整理,帮助学生构建起清晰、有序的知识结构体系,并对知识结构中的重点难点进行梳理与深入分析。 |
此部分渗入思政教学元素,在学生掌握知识的基础上进行思想政治的引领,实现显性教育和隐性教育相的统一。 通过字符数组定义的讲解,引导学生对集体主义精神的思考。 由字符串以‘\0’为结束标志,引导学生进行底线意识的思考。作人有道德底线,国家有国家底线,任何其他国家不得触碰。 由输入输出方法的优弱势比较,引导学生理解“尺有所短,寸有所长”,正确的认识自己,评价自己,发挥自身优势为社会做贡献。 当下新冠疫情时期,举国人民同心协力抗击疫情的切身感受,深化学生的爱国主义情感,并意识到自己作为学生的责任担当,引发学生自觉遵守国家规定,以实际行动为我国抗击疫情凝聚力量。 通过字符串加密处理技术的实例,拓展学生的思维结构,引导学生了解中国领先的量子通信技术,增强学生的民族自豪感,提升文化自信,并激发学生的创新意识。 |
44 |
课堂练习 |
混合式教学平台:慕课堂 |
针对本节课的重要知识点进行补充练习,在帮助学生进一步熟练掌握知识点的同时,拓展学生的逻辑思维与创新思维。 |
培养学生的知识运用及知识迁移能力,拓展思维,促进逻辑思维能力的发展 |
20 |
课堂小结 |
|
教师对本节课所学内容进行归纳总结 |
引导学生总结反思。 |
3 |
课后任务布置 |
混合式教学平台:慕课堂 |
一是课后思考题的布置,既可帮助学生完成知识点的复习,又可以促进学生对知识的延伸思考与探索; 二是布置课后练习题目,通过在线测试系统加深对知识点的理解,及时发现自己缺口; 三是第二课堂,即下节课预习题目的布置,为下节课的学习做好充分准备。 |
培养学生温故而知新的良好学习习惯,勇于探索、深入思考、挖掘问题之间的联系的能力。培养学生互帮互助,合作解决问题的意识。 |
5 |
六、课程思政教学评价与考核
1.课堂教学评价:主要考查学生上课的认真程度、课程思政参与程度、小组学习参与程度、师生互动参与程度等。评分标准如下表所示:
评价项目 |
所占比重 |
优秀 |
良好 |
中等 |
及格 |
不及格 |
评价项目 |
20% |
非常认真 |
比较认真 |
一般 |
不怎么认真 |
极不认真 |
课程思政参与度 |
30% |
非常积极 |
比较积极 |
一般 |
偶尔参与 |
不参与 |
小组学习参与程度 |
20% |
非常积极 |
比较积极 |
一般 |
偶尔反馈 |
不反馈 |
师生互动参与程度 |
30% |
非常积极 |
比较积极 |
一般 |
偶尔参与 |
不参与 |
2.作业(即课后思考题):主要考查学生对课堂教学知识点的掌握程度及应用能力。
3.教学实验:主要考查学生的实际编程能力,运用所学理论知识解决实际问题的能力。考查形式为根据给定实验题目进行题目分析、算法设计、程序编辑、调试与运行,得出实验结论,并对实验过程进行总结。
4.阶段性测试:主要考查学生对阶段性知识结构的掌握情况,测试学生对重要知识点的掌握程度,编程能力的提高水平,及对阶段性知识的综合运用情况。
七、“课程思政”教学特色与创新
1.运用思维导图展示教学组织与实施过程。思维导图的运作过程模仿人类大脑思维的运行规律,从而激发个体思维创造性,打破思维固化和僵硬的状态,充分展示个体思维的独特性与创造性,极大地激活了学生的创造性。
2.在教学中,结合时事,选取热门话题作为案例,做到课堂内容与实际生活紧密结合。
3.吸取建构主义学习理论的合理因素,采用 PBL 教学法来组织教学。以学生为中心,上课前教师根据教学内容的要求,给学生布置任务,学生根据任务查阅相关资料,在课堂上由教师组织学生从设问出发展开讨论、交流,最后得出结论,可充分培养学生自主学习的能力。
4.采用作业在线测试系统为实验辅助教学平台,在此平台上完成的作业及阶段性测试作为平时成绩考核的主要依据。通过此平台的练习与考核,一方面考验了学生适应新的实验模式的能力;在此平台应用过程中,教师积极引导学生进行自学和反复实验,学生逐渐适应了此平台严苛的程序调试规则,增强了学生编程的严谨性,和不断克服难题,挑战难题的信心,磨炼了学生的学习品质和思想意志。另一方面扩展了学生的学习维度,平台上的题目质量高且实用性强,学生通过此平台的练习,实用编程的能力有了较大提高,拓宽了学生的学习视野,增强了学生的学习兴趣。
八、教学效果
1.课程思政改革的课内外效果、学生反馈与其他成效
《C 语言程序设计》“课程思政”改革教学后,学生反馈良好,在课堂教学过程中,老师的积极引导与鼓励,学生积极互动与反馈,学生与老师自然而然地碰撞出思想的火花,生动地展现了“思政点不是找出来的,是从内心生出感动,是在课堂知识与情绪的融合处像讲故事一样娓娓道来的,是师生共同的情感共鸣”。该课程于2020年获批“省级线上线下混合式一流课程”立项,取得了阶段性成果。
《2021-2022学年第二学期第5周课堂教学质量满意度调查报告》显示,学生对该课程的满意度评价排名学校前3%,位居全校第六,其中兴趣激发模块排名全校第一,较改革前的几学期有了较大幅度提升。

督导老师对《C 语言程序设计》“课程思政”改革教学成果也给予了较高的评价,肯定了《C 语言程序设计》“课程思政”改革教学在锻炼学生程序设计技能、培养学生逻辑思维能力的同时,将爱国情、强国心、报国志如盐溶水般渗透到各个教学环节中,实现了知识传授与价值引领相统一教学效果。
2.改革的推广辐射性分析
《C语言程序设计》“课程思政”改革教学成果适用于在课程思政理念指导下推进“课程思政”改革建设的高等院校。“课程思政”改革后的《C语言程序设计》教学结合课程本身的特点,并将思政教育融入到教学中,在深化理论知识、发展思维能力的同时引导学生树立正确的世界观、人生观和价值观,建立起知识学习与思政教育融合的先进教学体系。本范式对于促进课程思政与程序设计类课程(乃至其他课程)有机融合,实现立德树人、育人育心的教育目标具有推广及应用价值。
九、教学反思
(一)存在的实际困难和改革的不足之处
《C 语言程序设计》“课程思政”教学改革是一次试验的过程,也是一次探索的经历。虽然本教学改革团队克服各种困难,经过多次会议讨论,尝试将思政元素与课程教学内容实现完美的融合,其过程面临的若干问题与难题主要表现为以下几个方面:
1.课程思政建设的发展与教材不匹配的问题。
本课程教材的选择主要考虑与引用课程资源一致,所选用的教材可挖掘的思政元素较少。因此,教学改革团队需要花大量时间自制教学案例。
2.课外“课程思政”延伸不充分的问题。
本学期教学改革团队主要针对课堂教学案例进行了课程思政元素的有机融入,但是课后思考题、课外延伸练习的课程思政元素融入还不够充分。
3.“课程思政”形成性评价与考核机制不成熟。
目前形成性评价与考核机制仍偏重于学生客观知识及编程技能的考核,但涉及思想政治、科学素养、专业结合性的考核相对不够全面。
(二)改进措施
针对在《C 语言程序设计》“课程思政”教学改革过程中存在的问题,我们将从以下以方面进行改进:
1.教师通过学习强国、教学网站等各种平台搜集教学资源,结合学生所学专业进一步整理出更实用、思政元素渗透性更强的教学案例,克服思政建设与教材不匹配的短板,提高了课程思政教学效率。
2.在今后的教学改革中,团队会加强课后思考题目中课程思政元素的融入深度,进一步加强作业、测试等课堂延伸部分与思政元素的结合,真正做到将“课程思政”融入学生的课堂内外。
3.精心打磨课堂教学案例、实验案例,争取做到教学案例涵盖知识结构的每一个要点,在体现学生的专业性特点的同时对学生的思想提升给予引领。
4.进一步贯彻 OBE 的教育理念,坚持“学生中心、产出导向、持续改进”原则,确立价值塑造、能力培养、知识传授三位一体的课程目标,更好的培养学生分析问题、解决问题的能力及自主学习能力,力争将《C 语言程序设计》课程打造成国家金课。
5.继续改进课程形成性评价实施方案。加强思政教育与过程性评价的有机融合、深度融合,在考查学生知识运用能力的同时,对学生的思想提升也能给予客观、公正的评价,做到目标、教学、评价一体化。