OBE理念下“C语言程序设计”课程线上线下混合式“金课”建设的研究与实践

2023-08-29 07:20:14行舒乐高海宁肖伟中
商丘职业技术学院学报 2023年4期
关键词:C语言程序设计金课C语言

行舒乐,闫 卓,罗 鑫,邱 栋,高海宁,肖伟中

(黄淮学院 能源工程学院,河南 驻马店 463000)

2018年6月,教育部陈宝生部长在“新时代全国高等学校本科教育工作会”上,第一次提出了“金课”概念.随后,“金课”被写入教育部文件.2018 年 11 月 24 日,教育部高等教育司司长吴岩在第11 届中国大学教学论坛上讲道:“课程是中国大学普遍存在的短板、瓶颈、软肋,是一个关键问题.”[1]线上线下混合式“金课”不是线下“金课”和线上“金课”的简单组合,而是利用线上技术手段,将先进的教学理念和现代教学工具有机地渗入到教学过程中;利用线上教学资源拓展教学的时间和空间,充分调动学生在课堂外的时间,将知识点的阐述放在线上完成,线下教学则通过各种手段检测学生线上学习的效果,测试学生对于知识点掌握的达成度,查漏补缺,同时完成“金课”对于“两性一度”的要求[2-3].

1 “C语言程序设计”在“金课”建设过程中面临的问题

“C语言程序设计”课程是高校理工科一年级学生的一门基础必修课.随着计算机信息技术的高速发展和计算机编程语言与各专业的专业知识交叉融合度的提高,“C语言程序设计”课程也成为各类理工科学生学习专业知识的基础前置课程.如机械类专业学生,在后期学习数值模拟软件、机电信号分析软件和单片机软件等专业应用软件时,都需要 C 语言作为学习这些软件的基础.同时,“C语言程序设计”课程是一门实践性很强的课程,如何将传统的以教学为中心的教学理念改进为以学为中心的教学理念;如何有效地调动学生学习“C语言程序设计”课程的学习兴趣和积极性;如何改变以往单一的“先理论,后实践”的教学模式,改变学生学习理论知识后只能“纸上谈兵”,无法将理论知识转化为应用实践能力的现状;如何将“C语言程序设计”课程打造为符合两性一度要求的“金课”,这些都是亟需解决的教学问题[3-4].结合非计算机专业的特点,该课程在教改过程中需要解决的重点问题总结如下:

1)“眉毛胡子一把抓”:采取扫盲式教学,对大学计算机课程各方面内容进行无差别、普及型教育,如软硬件、网络、多媒体、数据库等.课程涉及面广,学生无从理解,只能死记硬背,只求拿到学分,缺乏学习热情.

2)“千人一面,以偏概全”:把非计算机专业的课程当成计算机专业课程的简版或者浓缩版,内容与学生的专业脱节.学生对于在专业领域如何应用计算和创新计算知识缺乏训练,更不用说实现“‘新工科’交叉融合、协作共享”的理念了.

3)“无米难为炊”:课时较少,从非计算机专业的角度来看,各章节课时分配不合理,无法深度分析专业问题的计算和求解过程,不能有效地向学生传递计算(机)技术的核心思想与方法,难以完成计算思维培养的目标.

4)“置身事外,未战先败”:非计算机专业的学生不适应计算思维模式,有畏难情绪或者持怀疑态度,认为自己的专业学习计算思维没有用处.

2 “金课”建设过程中的相关举措

2.1 教学理念改革

OBE理念,即“成果导向教育”理念,是一种以学生为教学活动中心,以预期成果驱动整个教学过程的教学理念,其目的是让教学目标更为明确清晰,人才培养更符合社会需求.而OBE理念将学生作为教学活动的主体,以学生的预期学习成果为教学出发点,逆向设计所有的教学环节,使得整个教学过程都围绕着学生这一主体.在“C语言程序设计”的“金课”建设过程中,教学团队统一思想,在该课程的每一环节的建设中,达成了以OBE教学理念为核心的共识.每个环节构思完成后,团队内部都会进行头脑风暴:该教学环节是否真正以学生为中心;该环节完成后给学生预设的能力培养能否达成;有没有更好的设计构思能帮助学生更有效地、更积极地完成学习目标.在每个教学环节结束后,通过调查问卷的形式收集学生对于该环节的意见,真正做到以学生为中心和持续改进[5-6].

2.2 课程内容改革

根据“C语言程序设计”课程的特点,将课程内容划分为理论和实践两部分.在理论学习方面,不简单地以计算机专业的学习内容为标准,盲目拔高,而以本专业培养目标为基准,确保学生在有限的学习时间内完成预定的学习目标.根据非计算机专业学生的培养目标,将理论教学内容进一步精简,使其更加符合本专业培养目标的要求.简化后的理论课程内容,如图1所示.

第一讲程序设计与C语言第一个程序C语言计算机和编程语言第二讲数据类型变量数据类型表达式Onlinejudge第三讲判断与循环1判断循环第四讲判断与循环2逻辑类型和运算级联和嵌套的判断多路分支循环的例子判断和循环常见的错误第五讲循环控制循环控制多重循环循环应用第六讲数组与函数数组函数的定义与使用函数的参数和变量二维数组第七讲数组运算数组运算搜索排序第八讲指针与字符串指针字符类型字符串字符串计算

考虑到学生学习能力的差异,为学生提供了不同的线上资源以供学生进行理论学习.大部分学生在线上采用SPOC(小规模限制性在线课程)学习较为基础的理论知识(如图1所示).对于学有余力的学生,也为其提供了更有挑战性的MOOC课程(如图2所示,加粗字体部分为增加的知识内容).正视学生的学习能力差异,以本专业的培养目标划定下线,上不封顶,因人而异地制定学习内容.

第一讲引言绪论主机版图灵模型与计算主机系OFFICE基本操作指导装机指南第二讲信息表示与编码计算机与二进制字符信息的表示与编码多媒体信息表示二进制数的算术运算机器数的表示与运算第三讲硬件系统构造基本逻辑运算和逻辑门触发器与加法器由逻辑门到运算器指令和程序冯·诺依曼结构第四讲操作系统基础什么是操作系统处理器管理存储器管理微型机中的存储器系统文件管理第五讲网络技术及应用计算机网络的概念网络协议与网络体系结构因特网中的地址因特网应用网络安全概述第十二讲数据结构基础数据结构基础知识数据的逻辑结构与存储结构线性表顺序表设计栈和队列数据结构小结第十三讲数据管理与数据分析基础关于大数据分析视角下的数据管理数据分析的基本过程利用计算机求解问题的一般过程

实践教学内容分为课中和课后两部分(如图3所示).课中实践内容与理论内容环环相扣,互为支撑,且更适合项目化教学的要求,体现了对理论内容的实践与强化.课后的实践教学内容则与专业联系更紧密,将“C语言程序设计”课程与“汽车单片机”课程、“嵌入式程序设计”课程等后续专业课程组成课程联合体,并与学科竞赛紧密联系.将课后实践内容与机器人竞赛、智能网联汽车竞赛等学科竞赛的内容串联起来,贯穿大一到大三,学生以老带新.学生学得明明白白,学习动力才能源源不断.同样,通过学科竞赛,让学生从大一到大三期间所学内容层层深入,学生必须跟着“不断跳”才够得着,也体现了课程的挑战度.课程内容改革后,学生的学习积极性进一步被激发,学科竞赛获奖数量和层次也逐步提高.

图3 挑战版实践课程内容

2.3 教学方法改革

在“金课”建设之前,“C语言程序设计”课程采用的是“理论+上机”的灌输方式的教学方法,不管是C语言编程知识的学习,还是上机练习,学生在学习过程中的主动性和参与度都不高,掌握知识的程度反馈也不及时.理论学习和上机练习脱节严重,理论学习不扎实,上机练习也跟不上节奏,不清楚上机练习的目的,更谈不上独立思考和创新.非计算机专业培养方案中规定的课时相较于计算机专业较短,如新能源科学与工程专业是48学时,汽车服务工程专业是32学时.按照传统的教学方法,学生很难在培养方案规定的课时内真正达到规定的能力要求.

针对以上问题,设计了针对“C语言程序设计”课程特点的“一体两翼的双引擎驱动”教学方法,课程教学设计示意图如图4所示.该教学方法基于OBE教学理念,以BOPPPS教学模型作为理论教学方式,以PBL教学方法作为实践教学方式[7-8].将该课程作为线上线下混合式课程,通过线上教学,拓展学生的理论和实践学习时间,提高课程的两性一度,超越“金课”标准开拓战略空间.

图4 “C语言程序设计”课程线上线下混合式课程教学设计示意图

在教师教的方面,可以将教授内容分为理论教学内容和实践教学内容.根据不同的教学内容采用不同的教学方法.对于理论教学内容,改变以往只有课堂讲授式的教学方法,将适于讲授式的理论教学内容,利用MOOC将C语言中零碎的知识点以视频、PPT等形式放在线上完成理论部分的教学.在课前让学生根据任务清单,完成理论知识点的学习.在课堂上,在教师组织和指导下,根据前测结果及时调整教学内容,并使用问题探究法、讨论法,引导学生提出问题,通过比较独立的探究和研究活动,探求问题的答案而获得知识.

对于实践教学内容,改变以往只使用简单的上机训练与实践式的教学方法.将实践教学从课堂上扩展到课下.在课堂上,通过项目化教学法进行教学,以小组为学习单位,分组完成小型实践项目,教师在此过程中主要起辅助作用,并在项目完成后进行点评.在课后,教师同样布置有贯穿整个课程的项目,同样分组完成、定期汇报,同时在慕课讨论区进行互动交流.

在学生学的方面,对于理论知识学习,学生可以借助MOOC个性化地完成理论学习目标,对于简单的知识,可以快进学习.对于有难度的知识点,可以反复学习.同时,可以借助慕课的讨论区,与同学们对知识点进行讨论.实践能力的学习,主要通过课上和课下的实践项目.在此过程中,强调学生在学习过程中的主体地位,提倡“个性化”的学习,主张以学生学习为主,教师指导为辅[9].

2.4 考核方式改革

改变以往通过期末大作业+平时成绩的考核方式.基于以学为中心的教学理念设定考核方式,增加过程性考核所占比重,但同时强调以结果为导向.对于理论知识的考核,不再仅通过期末考核结果进行评估,在平时课堂中增加对于课前学习的前测和学习重难点的后测,将前测和后测的考核结果纳入平时成绩.同时,对于课下慕课的学习时长,在讨论区的讨论结果均可在后台监控,也同样纳入考核范围,提高学生对于课下参与式学习的积极性.设置线上题库,期末可以通过线上考核代替线下考核,考核的部分题目根据题目难度随机构成,避免了考试抄袭的现象.

课程重视对学生的过程性考核,期末线上考核占总成绩的40%,过程性考核占60%.其中,线上过程性考核占34%,线下过程性实践考核占26%.不管是平时的单元测试、课堂表现、话题讨论,还是课上、课下实践,乃至最后的线上期末考核,在线上平台都有详细的考核依据,对每位学生都能进行多元评价.具体考核方式,如图5所示.

图5 期末成绩构成

对于实践能力的考核,不再仅通过期末大作业的方式进行考核,将增加平时项目化教学小型项目的评价,结果纳入平时成绩.保留期末大作业考核,但根据知识点将大作业分散到各个章节,每个章节解决该章节能解决的问题,解决了学生期末完成大作业的恐惧心理.同时,也加强了学生对于平时实践作业的重视程度.

2.5 教学设计案例

根据以上改革,以数组的应用实例为例进行教学设计.首先在课前要求学生提前预习并完成单元测试后,发现排序算法是普遍难点.据此调整了本次授课内容的重点,并提前布置了课前任务.授课开始后,以常用手机App的排序应用完成课程引入,并提出本即课的学习目标,随后针对课前任务1(观看2022年1季度新能源汽车销售排行榜的排序视频,并思考其排序过程)进行随机提问,问题中隐含思政元素.很多学生在看完第一个视频后,会根据冒泡排序法的特点,将其应用在第二个作业(用抖音拍摄生活中的排序应用视频)中,从而在完成第二个作业的过程中不知不觉地总结并学会了应用冒泡排序法.使用学生在熟悉和放松的情景中完成作业,也更加能够增加学生的学习乐趣.其次,使用动画演示冒泡算法的同时,在右侧区域按照每个步骤编写相应的代码,把抽象的算法思想,逐步分解为小段的代码,降低学生对于编写代码的畏难情绪.然后,在编译系统里运行验证程序,完成讲解示例.随后,询问学生对于课前的第二个作业,有没有采用冒泡法以外的方法完成排序作业,(如果有,对学生的案例进行分析,并引出选择排序法,如果没有,教师使用自备案例展示选择排序算法的思想)引导学生通过案例自行总结选择排序法的特点,教师加以点评和总结.布置课堂任务,让学生分组完成程序编写.完成后,随机选择一组学生的程序进行讲解,并导入编译系统进行演示.最后,对本次课程进行总结,并安排课下实践作业和下次课的线上预习任务,完成对该部分知识点的学习.

3 结语

黄淮学院能源工程学院“C语言程序设计”课程建设教学团队自2019年以来就开始尝试建设线上线下混合式教学,对课堂派、慕课堂等在线教学平台的应用非常熟悉.2020年疫情期间,使用中国大学生慕课平台建立了“C语言程序设计”课程的异步SPOC在线学习资源,并取得了较好的教学效果.在“金课”建设的标准下,建立了适合自身特色的教学方法,符合教育部提出的建设面向未来、适应需求、引领发展、理念先进、保障有力的一流专业和一流课程的导向,也符合黄淮学院“就业能称职、创业有能力、深造有基础、发展有后劲”的应用型人才培养定位,有助于稳定输出具有个性化和多元化发展特质的新能源专业人才.

猜你喜欢
C语言程序设计金课C语言
以本为本“金课”打造之精讲精练与发散思维在微积分中的应用举例
浅谈大思政视域下有机化学课程“金课”打造
云南化工(2020年11期)2021-01-14 00:51:16
基于“金课”标准的《管理会计》课程改革思考
甘肃教育(2020年14期)2020-09-11 07:58:28
基于Visual Studio Code的C语言程序设计实践教学探索
计算机教育(2020年5期)2020-07-24 08:52:56
探讨如何打造“金课”在中西医结合眼科教学上的实施
基于C语言的计算机软件编程
电子制作(2018年16期)2018-09-26 03:27:08
高职高专院校C语言程序设计教学改革探索
以“学生为中心”的《C语言程序设计》教学设计探究
基于翻转课堂的《C语言程序设计》课程教学系统的实现与研究
软件工程(2016年8期)2016-10-25 16:02:07
浅谈《C语言程序设计》课程的教学改革