课程整体思路
1.基本信息
“C语言程序设计”在昆明理工大学是面向非计算机专业理工类本科生开设的公共基础课,以提高学生计算思维能力为导向,以培养学生编程能力为目标,通过多元算法、程序重构等方法引导学生理解计算的实现机制、构筑计算思维模式下的实践与创新能力,对本专业知识的学习有一定的支撑和促进作用。立足于本校“特色鲜明研究型高水平大学”的发展定位,针对本省生源、农村学生、少数民族学生占比高,施教对象信息素养和智识能力差异突出等具体学情,结合理、工、农、医类本科专业人才培养方案中对学生计算素养和计算机应用能力的要求,贯彻习近平总书记“一个民族也不能少”的指示精神,落实立德树人,遵循一流课程建设标准,确定了“普惠模式下的,以学生为中心、成果导向的、’两性一度’特征突出”的总体课程目标。
课程获评国家精品在线开放课程、首批国家线上一流课程、首批国家线上线下混合式一流课程,入选云南省课程思政示范课重点培育项目,获省级虚拟教研室试点建设项目。MOOC课程“C君带你玩编程”上线国内主流MOOC平台,入选学习强国,400余所高校纳入选课名单,18万余人选课学习,获大中华区优秀慕课选拔赛团体铜奖、中国高校CMOOC联盟优秀课程。2020年4月,英文版MOOC“Programming In C”作为首批提供优质英文课程的59所高校里的第一批MOOC在教育部在线教学国际平台-学堂在线国际版开课,积极向全球大学抗击疫情贡献了中国高等教育的力量。课程配套的新形态教材《C语言程序设计(慕课版)》获评云南省优秀教材,推荐首届国家优秀教材建设奖评选,被20余高校选用。“C语言程序设计”课件获评教育部在线教育研究中心“智慧教学雨课件”,提供给了全国选课学校开展混合式教学。
2.整体设计思路
C语言功能强大,在工业控制、嵌入式开发等领域始终占据主流地位,也是诸多算法实现和科学问题建模求解的不二选择。但是长期存在以下问题:
因其接近底层,语法知识点多,需要大量实践支持理论教学,加之学生基础参差不齐,传统长时间讲授易造成学生疲倦,课堂效率低;
学生的学习兴趣和积极性易受编程挫败感影响;
学生被动学习,不利于培养主动思考和探索创新能力;
教学内容与专业人才培养脱节,学生和学院对课程的重视程度不够,导致学习内驱力不足;
以往的教学多注重软件设计,C语言在硬件嵌入式开发方面的优势没能得以体现,学生的创新能力也因此受限。
如何摆脱上述问题造成的浅层低质学习状态,达到高阶认知水平,为新工科人才培养助力,是本课程线上线下混合模式教学改革需解决的重点问题,是课程教学改革的“初心”所在。
围绕计算机基础教育改革前沿,紧扣现代信息技术与教育深度融合发展趋势,贯彻“以学生为中心”和“课程持续改进”教育理念,团队基于“两性一度”的课程建设总要求进行对标挖潜,对教学中存在的痛点、难点问题进行总结凝炼和细致分析,将改革创新的着眼点放在教学目标、模式、内容、方法与组织、评价与反馈五个方面。经过五年的总结锤炼,形成了包含“一核七翼”混合式教学模式的创新构建、“六维度三境界”课堂教学设计理念的创新实践、结合学科培养“四新”人才的线上线下混合式教学新模式。
图1 “一核七翼”教学模式
图2 “六维度三境界”课堂
3.教学模型
教学内容包括C语言语法基础、函数及模块化编程、指针与函数进阶、文件等部分。课程借助“雨课堂”等智慧教学工具,实施了“课前自学检测—课上教师引导学生参与—课后训练拓展”三位一体的教学方式改革,完成了“以教师为中心”向“以学生为中心”的教学方式的转变。线上线下混合式教学流程的改革与实施,重新定义了教学的边界,把记忆和理解、事实性、概念性知识的低阶学习放在课前的线上学习,线下课堂教学重在引导学生进行应用、分析、评价和创造类高阶认知训练。Bloom教育目标分类学中的高阶认知目标的实现,在将线上预习行为纳入可测量控制的闭环学习过程中之后,才有了实现的可行性。
图3 混合式教学模型
4.课程评价
课程采取过程化考核方式及形成性评价机制:
总评成绩=平时成绩50%+期末考试成绩50%
平时成绩=考勤10%+作业与实验20%+慕课线上学习与测验20%+期中考试 5%+互动学习效果20%+综合设计25%
图4 课程成绩评定机制
其中:“考勤”和“学习互动效果”来源于雨课堂的扫码签到、课前学习答题、课上现场检测、课后作业提交的分数,“作业与实验”来源于在线编译平台的作业成绩,“慕课线上学习与测验”来源于MOOC平台的学习成绩,期中考试通过雨课堂来组织实施,综合设计考核则由学生进行与专业相结合的综合设计作业及汇报答辩成绩构成,“期末无纸化考试”成绩是线下采用教考分离方式用万维系统组织的考试成绩。“过程化考核”覆盖了混合式教学过程的全部环节,形成性评价机制促进了学生全程投入课程学习。提高了学生的课业参与度,并且在实施过程中,课程组持续优化可测量的线上教学行为,去粗取精、去伪存真,保证了课业挑战度的有效性。
在实施混合模式教学改革之后,传统课堂沉闷的氛围、学生单一的学习方法、课程一元的考评模式均得到极大改观,85%以上的学习者在课程总体评价、运用了前沿技术、课程思政融入、鼓励学生积极参与等方面都给出了8分以上的评价(满分10分)。课程的教学质量得到了全面提升,对比改革前2015-2016年度课程61%的通过率(样本人数3000人),改革三年来课程通过率均值达90%以上,标准差也由改革前的15%降到了现在的10%。
在课业评价分析方面,通过指标数值标准化处理,课程团队为学生提供了细粒度、多维立体的课业成长画像。让学生能够参照Bloom认知阶梯,将自己的课业成长和班级平均水平、学期初自己的水平、群体中优秀者(学霸)的水平进行对比,看到自己的进步、不足以及在学习群体中的位置。该评价方法的创新,已经逐步迁移到本校同类课程的评价体系之中,并通过教学交流向省内、国内院校推广,受到学习者和同行的好评。
图5 课程课业成长评价方法
“
C
语言程序设计”课程被立项为中国高校
CMOOC
联盟线上线下混合式改革项目,“‘
C
语言程序设计’翻转课堂教学案例(视频)”获中国高校
CMOOC
联盟优秀案例奖,
“以思政为导向构建赋能‘四新’人才培养的混合式教学体系”案例入选
2020
年高校在线开放课程联盟联席会混合式教学优秀案例,
“‘
C
语言程序设计’雨课件”荣获教育部在线教育研究中心智慧教学“雨课件”称号,课程
2020
年被认定为首批国家线上线下混合式一流课程。
学生的编程能力、运用能力、创新实践能力有明显改观。在中国大学生计算机设计大赛、“互联网+”创新创业大赛、全国大学生数学建模竞赛、移动云计算校园开发大赛中斩获多项国家级、省级奖。
教师的教学水平整体得到了提高。课程组培育了3名云南省“万人计划”教学名师、4名校教学名师,1名校首届模范教师,1名校首届最美老师,1名首届校首届师德标兵,1名校首届“敬业爱岗、为人师表十杰青年教师”,团队荣获全国混合式教学设计创新大赛特等奖、首届全国高校教师教学创新大赛二等奖、首届全国高校教师教学创新大赛云南赛区特等奖和教学设计创新奖,3名教师荣获省高校教师教学比赛一等奖,6人次教师获校级教学比赛特等奖。团队成员荣获4项校教学成果特等奖、8项校教学成果一等奖。
课程组联合了6所高校申报完成了教育部教育信息化实践共同体项目”地方本科院校与专业相结合的C课程翻转课堂实践共同体“,将成果推广运用到了多所高校,提高了云南省计算机信息化教学水平。方娇莉老师参与全国教育科学“十三五”规划2019年度教育部重点课题《互联网+教育背景下跨区域同步教学对教育生态的重构研究》子课题《互联网+教育背景下高校教育资源跨区域重构及共享研究》研究,与黑龙江外国语学院联手尝试三校一企共创跨区域多方合作混合式教学模式,方娇莉老师全程参与教学指导,取得了圆满的效果。方娇莉老师受邀在国际、国内会议及各高校做了60余场一流课程建设、课程思政教学改革、混合式教学创新竞赛的交流报告,在国内有一定的影响力和示范性。
课程教学设计
(1)学生知识经验分析:
经过前9讲共5章内容的学习,学生已经认识C语言的基本数据类型、变量和常量,掌握了顺序结构、选择结构以及循环结构程序的编写方法,学会了基本数据的组织及访问方式。
(2)学生学习能力分析:
通过前9周线上线下混合教学模式的实施,学生已养成良好的习惯:
课前——阅读教材、观看慕课视频、完成预习任务;
课堂——围绕老师设计提出的程序问题进行思考与讨论;
实践课——通过设计与调试程序加深对语法和算法的理解;
课后——通过课后作业的完成,达到知识巩固与拓展提升。
随着课程的实施,学生的自主学习能力在不断提升。
(3)学生思想状况分析:
从一开始谈及“C语言能做什么”,由介绍C语言在实时系统、嵌入式系统、操作系统以及物联网领域的应用到介绍我国北斗卫星的发展历程来增强学生民族自豪感;选择结构时谈及“选择”的重要性,提到鲁迅——弃医从文,少了一个爱国医生而多了一个文豪;毛主席——韶山冲的三伢子选择革命救国,最终成长为一代伟人;面临疫情,中国人民的积极应对,与其他国家的消极对抗形成鲜明对比,体现了选择的重要性。循环结构时所讲循环往复,水滴石穿——天天向上的力量。从国庆阅兵到《韩非子》的“宰相必起于州部,猛将必发于行伍“引入数组等等。讲授C程序设计知识的同时融入思想政治教育,学生从学习习惯、思维、信念等方面都多少有着收获与改变,课前自学主观题作业已经能自然体现爱国情怀。
(1)知识目标
能够理解模块化设计程序的相关方法和理念;
能够掌握函数的定义和调用方法的一般形式;
能够理解函数间的参数传递方法,掌握值传递与地址传递间的区别;
能够掌握函数的嵌套调用和递归调用方法;
(2)技能目标
能够熟练使用函数定义的方法进行问题分解,降低问题规模,进行求解问题;
了解软件著作权的书写格式和申报过程,具备独立完成软件著作权的编写和申报的能力;
体验嵌入式硬件创新实验,感受C语言在智能嵌入式开发设计中的实现过程和基于web的前沿硬件开发设计的运用,了解发明专利和实用新型专利的申报流程,创新实践能力得到提升;
(3)情感目标
在学习过程中,学生通过对火神山医院、国产商飞C919、“天问一号”火星探测器等内容了解,理解社会主义制度的优越性——集中力量干大事,进而增强民族自豪感,国家自信;
挖掘展示学生优秀作业中所体现的爱国元素,引导学生发生共鸣、共情,增强爱国主义精神,完成红色基因的传承;
学生以作业分享、双人结伴、小组合作、生生互评的形式参与课堂互动,在合作答题的过程中养成团结合作、守望相助的团队精神,在互评中培养科学、严谨、公平、公正的治学精神。
1.3本讲教学重难点及处理
(1)教学重点:函数的调用形式;函数间的参数传递;函数的嵌套调用;函数的递归调用;
(2)教学难点:函数的调用方法;值传递的特点;地址传递的特点(数组名作为函数参数传递的实质);函数的递归调用;
(3)处理办法:
-
多样化教学方法:
采用“案例式―启发式―互动式”相结合的立体化教学方式,将
原本抽象复杂的理论知识具象化为一个个精心设计的小案例和寓教于乐的小游戏,在欢声笑语中完成知识传授和内化吸收。
-
全生命周期教学过程管控:
利用信息化技术手段进行课前预习、课中讲授练习、课后实践巩固的全方位教学管控,确保知识点入脑入心,完成从知识到能力的转变。
-
丰富的教学资源和教学手段:
网络资源与线下资源相结合,多媒体素材与实物演示相结合,现代化教学工具和传统、自制教具相结合,丰富的教学资源与手段帮助学生理解记忆。
课前、课上、课后、课堂检测试卷
4
个
PPT
;
改错、填空、主观测试互评题等
3
个课堂互动程序;
单向值传递、双向地址传递、汉诺塔演示等
3
个讲解程序;
(2)教具准备
-
超市采购的两袋糖果和两个纸杯,用于诠释函数参数的两种不同方式;
-
网络购置的
12
个汉诺塔益智玩具,用于分组感受递归的概念;
-
自己制作的
12
套基于
Web
的温湿度采集器,可让学生对
C
语言在硬件嵌入式开发编程控制中的应用及实现方式有直观了解和体验,基于
Web
的设计可以培养学生在“万物互联”时代趋势下的信息素养。
图6 自制教具
(1)课前
我将精心制作的课前预习任务清单推送学生,布置学生课前自学;根据课前预习任务完成正确率对授课知识图谱进行动态调整,根据同学们反馈的自学难点问题进行词云分析,进而完成教学环节和内容的定点精准设计;
(2)课堂
上课时首先让学生在雨课堂扫码签到,掌握学生的到课情况,为课程综合成绩的德勤部分的分数积累量化数据,同时将授课PPT发送给学生,方便学生课后再学习;
导入环节,我先以火神山医院、商飞C919、天问一号为引,提出“分工合作是解决复杂问题的破解之道”这一思想,点明使用“函数”的意义,同时,使学生感受到了中国速度、中国制造、中国骄傲的伟大,激发了同学们的爱国热情。
进入正式内容学习环节,我先概要介绍了函数的定义及调用的基本形式和执行过程,然后针对课前预习部分学生存在的共性问题,将学生在雨课堂上提交的主观题作业中出现的错误汇总整理并设置成改错题,以雨课堂随机点名,台上台下共同改错的形式引导学生完成课前预习内容的内化吸收,达到线上线下有机融合的效果。
“高光时刻”作为我课堂中的常驻环节一直深受同学们的欢迎。所谓“高光时刻”,是指由课前作业获评优秀的学生进行展示分享,这些作业中往往体现了学生们的精巧构思和人文情怀。在本讲中,三名同学通过雨课堂网页版汇报展示的作业,以其蕴含的爱国主义情怀、专业能力素养和计算思维能力获得了老师和同学们的一致好评。
在我的课堂上永远不缺少欢笑与掌声。原本抽象复杂的理论知识,在一个个精心设计的小案例下化繁为简。在本讲中,吃糖果小游戏生动地诠释了函数中两种参数传递的差异。雨课堂上两个预先设计好的程序演示使得学生对其本质有了深刻的认识。
多种多样的教学互动形式使“以学生为中心”的教学理念在我的课堂上得以充分体现。在本讲中,对于同学们深感困惑的函数嵌套调用问题,我通过一道求解组合数的程序填空题,随机点名两位学生上讲台,现场完成代码编写,其余同学在台下参与答题。在全班同学们的共同努力下,问题迎刃而解。这样的教学设计,使学生真正成为了教学活动的主体,学生的成就感得以显著提升。
函数的递归调用一直以来都是程序设计课的重难点问题。我先用汉诺塔游戏诠释了递归调用的原理和实现过程。接着通过在雨课堂上设置递归求阶乘的课堂主观题,对学生的学习效果进行及时检测,利用生生互评的方式来有效增强学生的参与度和获得感;
“学以致用,学用结合”是我一直秉持的教学理念。讲授完课内知识后,我扩展引入了软件设计和硬件嵌入式实验体验,启发、培养学生的创新实践能力,并通过雨课堂将软件著作权、发明专利和实用新型专利的申请流程推送给了学生,使学生在自己动手完成硬件创新实验的同时,感受到了理工专业所独有的强大魅力,大国工匠精神也在同学们的心中悄然埋下了种子。
最后,我通过雨课堂发布了课堂检测,10个测试题,对本次课的重点知识进行了检测,检查课堂教学效果,为下次课的教学组织提供参考;
(3)课后
我利用雨课堂发布作业清单、布置有挑战度的作业、推送拓展学习资源。学生通过作业与实践题目巩固所学知识,检验学习效果,在此基础上完成思维拓展提升。
本讲结束后我还推送了中期调查问卷,让学生对前半段的教学实施做评价、提建议,在此基础上为该班进一步定制、修改教学方案,实现自适应教学组织。
课程创新教学改变了传统课堂沉闷的气氛、拓展丰富了学生的学习方法、实现了多元化的考核评价方式,学生对课程的满意度有了显著的提升。
学生一认为:老师给我的感觉是特别亲切自然。她上课的条理很清晰,讲课时十分认真投入,能够通过多个寓教于乐的小案例将一个复杂的问题讲的特别透彻明白,而且老师设置了多种多样的课堂互动,能更好地调动我们的学习积极性。
学生二认为:可以通过非常形象的比喻把抽象的理论知识具象化,使我们更易理解。老师还经常引入一些课外拓展知识,在这一点上我能感受到老师的知识很渊博。在平时的学习中,老师会鼓励我们将所学知识与专业相结合,做到学以致用,在老师的课堂中我收获很大。
学生三认为:原本枯燥的理论知识,在老师的讲解下变得生动活泼。老师轻松幽默的讲课方式给我们营造了一种相当融洽的课堂氛围。在C语言的课堂上,我们每个人都充满了活力,会积极的参与到各种互动中,感谢老师,因为一个老师让我爱上了一门课。
反思与改进
本次课是常规教学中的一次正常教学组织,题目是根据自学效果设置的,参与答题和互动的同学们都是用雨课堂随机点名的,分享的学生是自学作业的满分得主。我们一直以“木桶效应”警示自己,绝不遗漏任何一位同学。
课后通过跟同学们的交流和团队老师的探讨,我认为本此课的教学组织尚存在以下不足:
(1)现场在手机上编程序提交耗费的时间比较多,有网络、手机和输入法等方面的制约,在规定时间内正确完成的同学不多;
(2)有些初次被随机点名上台的同学过度紧张;
(3)学生的知识储备情况掌握不到位,导致在做硬件创新实验体验时,部分小组因为不能快速修改电脑的IP地址而导致在所给时间内无法完成实践。
今后将以下几方面做改进:
(1)理论课现场尽量减少输入量较大的主观题提交设置,如果必须的话,就写在纸上拍照上传答案;
(2)互动不能完全用随机点名的方式,要兼顾大多数同学,筛查从未被点名答题的同学,择机给其机会展示自己;
(3)对于一些需要有知识储备的知识点或者操作,最好提前一周在班里摸摸底,如果基础薄弱的话,就提前安排学生做一下相关练习,或者复习一下相关内容,以保障课程教学目标的顺利达成。