滑梦荻
中国消防救援学院 北京 102202
2017年12月,教育部印发《高校思想政治工作质量提升工程实施纲要》(以下简称《纲要》),在《纲要》中课程育人居于核心地位,要求“大力推动以‘课程思政’为目标的课堂教学改革,优化课程设置,修订专业教材,完善教学设计,加强教学管理,梳理各门课程所蕴含的思想政治教育元素和所承载的思想政治教育功能,融入课堂教学各环节”[1]。C 语言程序设计是面向大一理工科专业开设的计算机基础编程类课程。为适应线上+线下混合式教学模式,C 语言程序设计课程从教学大纲、教学组织形式、教学设计、教学方法、教学资源等方面都重新进行了设计与调整。为了更好地发挥课程思政的德育功能,混合模式下的课程思政元素势必要进行相应的调整与选择。
学者何克抗教授[2]认为混合学习就是要把传统课堂面对面教授的优势和E-Learning 各自的优势结合起来,在发挥教师主导作用(引导、启发、监控)的同时,发挥学生的主体作用,体现学生的主动性、积极性和创造性。线上+线下混合式教学多以建构主义与联通主义为基本理论基础,对其作用的认知分为“代替论”和“促进论”两种观点[3]。无论是哪种观点,线上+线下混合式教学模式对教学的正向作用都是毋庸置疑的。在新冠疫情期间,教育部印发的《应对新型冠状病毒感染肺炎疫情工作领导小组办公室关于在疫情防控期间做好普通高等学校在线教学组织与管理工作的指导意见》,明确指出疫情期间要实现“停课不停教、停课不停学”[4]。在这种背景下,线上+线下混合式教学迎来了新的机遇与挑战。
C 语言程序设计是一门理论与实践并重的基础类课程。其中理论部分结构化、逻辑性较强,多为显性知识。实践部分多为理论部分的实践应用,强调在实践中使学生掌握程序设计的基本思路与方法,最终培养学生使用计算机解决实际问题的能力。基于C 语言程序设计课程理论部分自身的特点,理论部分适用于线上教学模式,充分利用线上教学资源(慕课、微课)进行理论教学。实践部分采用线下教学模式--翻转课堂的形式,开展基于项目、问题、案例的教学实践。
在线上教学模式下,为了保障教学效果,线上教学资源的设计与选用至关重要。C 语言程序设计理论部分采用微课、线上直播课、慕课相结合的模式。微课的设计与选用以校本微课为主,根据本校学生层次、学习风格对C 语言程序设计课程理论部分章节进行划分,重新进行教学设计,时长为15 ~20 分钟。
线上教学工具选用雨课堂与腾讯会议。课前利用雨课堂发布预习知识点、教学课件,课中利用雨课堂发布课堂练习,利用弹幕功能实现与学生的互动,课后利用雨课堂发布课后作业,实现课堂数据统计与分析。利用腾讯会议直播功能进行实时教学、答疑解惑。
线下翻转课堂主要应用在C 语言程序设计课程的实践部分,在线上理论教学的基础上,利用线下翻转课堂模式开展基于问题、项目、案例的实践教学。
2019年3月18日,习近平总书记在学校思想政治理论课教师座谈会上的讲话强调,要坚持把立德树人作为中心环节,把思想政治工作贯穿教育教学全过程,实现全程育人、全方位育人,努力开创我国高等教育事业发展新局面。[5]“全程育人、全方位育人”的一个最终共同目标就是实现立德树人。这就意味着在教学过程中无论讲授哪个教学内容,采用哪种教学模式、选择哪种教学方法都要保证立德树人课程思政目标的一致性。约翰·比格斯提出的一致性建构理论认为,在一致性建构的教学系统中,所有环节都是相辅相成的,学习者能够完全置身于一个支持性的学习系统中[6-7]。在一致性建构理论的指导下,所有教学环节不仅要保持教学目标的一致性,更要保证课程思政目标的一致性。
为适应线上+线下混合式教学模式,C 语言程序设计课程对教学大纲、课时分配、教学设计、教学课件重新进行了整理。
整个课程的教学设计采用了BOPPPS 教学模型的六个教学环节Bridge-in 引入、Objective 目标、Pre-assessment 前测、Participatory-Learning参与式学习、Post-assessment 后测、Summary 小结。并相应地对教学课件进行了统一设计制作。
2.1.1 线上与线下课程思政的一致性
在线上+线下混合式教学模式下,线上课程与线下课程一脉相承,相辅相成。两者有相同的教学目标与课程思政目标。在C 语言程序设计课程中,每个章节都有一个课程思政主题,无论是线上课程还是线下课程都围绕相同的课程思政目标开展教学。重点章节课程思政主题具体如下。
1)课程内容--程序设计与C 语言
①线上课程内容
C 语言的发展及特点;
程序设计的任务。
②线下课程内容
第一个C 语言程序;
C 语言程序运行步骤。
③课程思政主题
实践是检验真理的唯一标准。
④课程思政内容
在TIOBE 2020-09 编程语言排行榜中,C 语言依然名列前茅。其根本原因在于:计算机系统的冯诺依曼结构体系与芯片的物理机制都没有变。C 语言仍然是最接近汇编、机器语言的高级语言之一。经过这么多年的编程语言的迭代更替,C 语言仍然在编程语言中占有一席之地,C 语言经受住了历史的检验。真理是能够经受住历史实践的检验的。
运行第一个C 语言程序,在实践中切身感受C语言的特点。
2)课程内容--常量与变量
①线上课程内容
变量的定义及属性;
数据类型的作用与表示;
掌握常量、符号常量与常变量的定义与区别。
②线下课程内容
运用数据类型,实现简单应用。
③课程思政主题
圆周率的历史发展。
④课程思政内容
在我国,有关圆周率的最早记载是2000 多年前的中国古算书《周髀算经》。到了公元263年魏晋时期,数学家刘徽使用“割圆术”求得π 的近似值为3.1416。而到了公元480年的南北朝时期,数学家祖冲之将π 的近似值精确到了小数点后7 位。到了现代有了计算机等现代技术已将π 的近似值精确到超过小数点后62,831,853,071,79 6 位。
在上机实践中思考:“在C 语言中π 是常量还是变量,应该如何表示?”运行第一个C 语言程序,在实践中切身感受C 语言的特点。
3)课程内容--数据的输入输出
①线上课程内容
C 语言常用的数据输入输出方式;
格式字符的使用。
②线下课程内容
数据输入输出方式的实际应用。
③课程思政主题
沟通的重要性。
④课程思政内容
有一个秀才去买柴,他对卖柴的人说:“荷薪者过来!”卖柴的人听不懂“荷薪者”(担柴的人)三个字,但是听得懂“过来”两个字,于是把柴担到秀才前面。秀才问他:“其价如何?”卖柴的人听不太懂这句话,但是听得懂“价”这个字,于是就告诉秀才价钱。秀才接着说:“外实而内虚,烟多而焰少,请损之。(你的木材外表是干的,里头却是湿的,燃烧起来,会浓烟多而火焰小,请减些价钱吧。)”卖柴的人由于听不懂秀才的话,于是担着柴就走了。C 语言中数据的输入输出在本质上就是与计算机沟通交流过程。只有用双方都能理解的方式进行交流,才能达到沟通的目的。
在上机实践中运行不同数据的输入输出语法格式,感受沟通的重要性。
4)课程内容--用switch 语句实现多分支选择结构
①线上课程内容
switch 语句的一般形式;
switch 语句的注意事项;
break 语句的实际效果与用法;
default 子句的作用与用法;
switch 语句与if 语句之间的区别与联系。
②线下课程内容
switch 语句的实际应用。
③课程思政主题
精准扶贫。
④课程思政内容
switch 语句最大的特点就是它的精确性。switch 语句与习近平总书记提出的精准扶贫重要思想类似。精准扶贫:是粗放扶贫的对称,是指针对不同贫困区域环境、不同贫困农户状况,运用科学有效程序对扶贫对象实施精确识别、精确帮扶、精确管理的治贫方式。一般来说,精准扶贫主要是就贫困居民而言的,谁贫困就扶持谁。switch 语句中的条件带有精确性,只有与之相等,程序才能执行后续的语句。if 语句则与粗放扶贫类似,只要输入语句符合当前条件范围,就后续程序予以执行。
在上机实践中,通过同一编程题目分别用if语句与switch 语句实现来理解if 语句与switch语句的异同点。
5)课程内容--用while、do…while 语句实现循环
①线上课程内容
while 与do…while 语句的一般形式;
循环语句中语句顺序对结果的影响;
while 与do…while 语 句 中 的break 和continue 的应用。
②线下课程内容
while 与do…while 语句的实际应用。
③课程思政主题
失之毫厘,谬以千里。
④课程思政内容
通过《礼记·经解》“《易》曰:‘君子慎始,差若毫厘,谬以千里。’”中“失之毫厘,谬以千里”的成语来引导学员认识到精确与严谨的重要性。同时引入当下时事热点神舟十三号飞船回家(翟志刚、王亚平、叶光富组成的“太空出差3 人组”,在我国空间站工作了183 天,刷新了单次飞行任务太空驻留时间的纪录),其中反推发动机启动是整个着陆过程的一个关键步骤。神舟十三号飞船的返回舱经过空气制动、降落伞减速后,在最后接触地面的一瞬间,底部安装的反推发动机会启动,完成最后的减速刹车,将飞船稳稳地落在地上。而反推发动机需要在距离地面约1 米高的地方点火,不能早也不能晚,必须非常精准。
在上机实践中,通过编程语句顺序的调换得到不同的运行结果,理解循环语句中顺序的重要性。
6)课程内容--用break 与continue 改变循环执行的状态
①线上课程内容
break 与continue 的作用与区别;
使用break 与continue 控制程序流程的方法。
②线下课程内容
break 与continue 语句的实际应用。
③课程思政主题
积极寻求改变。
④课程思政内容
法国昆虫学家法布尔曾经做过一个著名的实验,称之为“毛毛虫实验”:把许多毛毛虫放在一个花盆的边缘上,使其首尾相接,围成一圈,在花盆周围不远的地方,撒了一些毛毛虫喜欢吃的松叶。毛毛虫开始一个跟着一个,绕着花盆的边缘一圈一圈地走,一小时过去了,一天过去了,又一天过去了,这些毛毛虫还是夜以继日地绕着花盆的边缘在转圈,一连走了七天七夜,它们最终因为饥饿和精疲力竭而相继死去。
在上机实践中,理解break 与continue 在打破循环过程中的作用与区别。
7)课程内容--一维数组的定义和使用
①线上课程内容
一维数组的定义、初始化;
数组元素的引用。
②线下课程内容
一维数组的实际应用。
③课程思政主题
物以类聚,人以群分。
④课程思政内容
“物以类聚,人以群分”一句出自《战国策·齐策三》。此书由西汉末刘向编定。“物以类聚,人以群分”指事物按照其种类而聚集到一起,成为一个系统,也指志同道合的人相聚成群,反之就分开,是朋友之间门当户对、志同道合的统称。
8)课程内容--二维数组的定义和使用
①线上课程内容
二维数组的创建和初始化;
二维数组的使用;
二维数组在内存中的存储。
②线下课程内容
二维数组的实际应用。
③课程思政主题
杨辉三角。
④课程思政内容
杨辉三角,是二项式系数在三角形中的一种几何排列。在欧洲,这个表叫做帕斯卡三角形。帕斯卡(1623-1662)是在1654年发现这一规律的,比杨辉要迟393年,比贾宪迟600年。杨辉三角是中国古代数学的杰出研究成果之一,它把二项式系数图形化,把组合数内在的一些代数性质直观地从图形中体现出来,是一种离散型的数与形的结合。中国古代数学家在数学的许多重要领域中处于遥遥领先的地位。中国古代数学史曾经有自己光辉灿烂的篇章,而杨辉三角的发现就是十分精彩的一页。
在上机实践中,应用二维数组实现杨辉三角。
9)课程内容--函数的定义与调用
①线上课程内容
定义函数的一般形式;掌握函数调用的一般形式;函数声明的一般形式;
函数调用时的数据传递;
函数调用的过程;
理解函数的返回值。
②线下课程内容
函数的实际应用。
③课程思政主题
授人以鱼不如授之以渔。
④课程思政内容
函数实参与形参中的数据传递类似“授人以鱼不如授之以渔”的原理。传授给人既有知识,不如传授给人学习知识的方法。道理其实很简单,鱼是做事的目的,捕鱼是做事的手段,如果想永远有鱼吃,那就要真正学会捕鱼的方法。如果把函数中实参类比是鱼,形参就是捕鱼的方法,有个形参的方法,任何实参中的数据都可以经过传递得到运算。
在上机实践中,应用函数,理解实参与形参中的数据传递过程。
2.1.2 线上+线下混合式教学课程思政的实践性
线上+线下混合式教学中的课程思政具有实践性。首先线上课程以理论课程为主,线下课程以实践课程为主。课程思政具有依附性,不仅依附于理论课程,也依附于实践课程[8]。课程思政的最终目的不仅是影响学员的“知”,更要体现在学员的“行”上。课程思政的目的决定了课程思政的实践性。其次,课程思政的隐性特征决定了在影响学员“知”的过程、效果以及程度上也带有隐性特征。实践课程中的课程思政元素与理论课程中的课程思政元素的关系不仅仅一脉相承、相辅相成,实践课程中的课程思政更是对理论课程课程思政的延伸与升华。并且实践课程的实践性也将理论课程中课程思政的成效外显化,反过来促进课程思政元素的影响效果。因此衡量课程思政成效的需求也要求课程思政具有实践性。
线上+线下混合式教学课程思政具有层次递进性。首先这种层次递进性表现在理论到实践的层次递进。课程思政贯穿整个理论与实践课程中,实践课程是对理论课程所讲授理论内容的实践与检验。其次这种层次递进性表现在课程思政的“知”与“行”,在理论课程中,课程思政元素多以教师口述、讲授的方式传递给学习者,学习者对课程思政的认知停留在“知”的层面上。
在实践课程中,课程思政元素多融于教师与学习者的实际行动中。在教师方面,课程思政元素从“言传”升华到“身教”;在学习者方面,课程思政从“知”升华到了“行”。