基于OBE 理念的《程序设计基础(C 语言)》课程混合式教学创新与实践
迟春梅 王小燕 王秀鸾
青岛理工大学信息与控制工程学院 山东青岛 266520
1 引言
《程序设计基础(C 语言)》是面向非计算机专业理工类学生的一门计算机公共基础课,培养学生结构化程序设计的能力及利用计算机处理问题的计算思维方式,为学生在工程实践中利用计算机解决复杂问题奠定基础。近年来我校在课程教学中尝试多样化、立体式教学模式,强化实践教学环节,提高教与学的效率。
2 课程与教学改革要解决的重点问题
(1)学生抽象的逻辑思维能力建立的问题。学生课堂上听懂了,自己编程时又无从下手,帮助学生建立计算机语言抽象思维方式是教好课程的关键所在。
(2)学生学习兴趣与信心不足的问题。课程语法知识多,实践性强,很多学生在学完 c 语言基础知识后,对程序设计逐渐失去兴趣或放弃,导致课程不及格率较高。
(3)考核方式合理化的问题。传统考核过于依赖期末试卷,忽视学习过程的监督,不利于培养学生实际问题解决能力。
3 课程教学创新思路及举措
3.1 重构教学内容,优化教学设计,丰富教学资源
将课程教学内容划分为 C 语言基础、三种基本程序设计结构、数组和函数四个模块,其中以“三种基本程序设计结构”为核心,每个模块包含对应层次的多个知识点,各层知识点相互交叉延伸,构成课程的理论知识结构。将 C 语言基础知识融入实例,通过典型编程实例讲解,使学生在编程实践中掌握枯燥的语法知识。
形成了立体化的教学资源。线上有 MOOC 资源,学生可以反复学习基础知识,线下利用试题库自主练习编程,通过大量的编程训练,在实践中学习与理解,逐步提高编程能力,理解和掌握程序设计的思路和方法。
3.2 混合式教学设计与组织实施(1)混合式教学设计原则
线上自主学习侧重编程理论知识学习,线下教学侧重编程能力及计算思维方式训练,线上线下课内课外全方位进行立德树人的培养。
(2)线上自主学习组织实施
线上学习资源选择自建的 MOOC 课程,与课程配套。课前布置视频观看任务,学生带着问题自主学习,教师通过平台数据发现学生看视频中存在的问题,对于课前未看视频的学生及时督促。课前看完视频,然后再组织线下课堂,学生反映效果好。
(3)线下教学组织实施
课中:老师根据学生提问情况对共性问题集中讲解,然后进行概念训练和编程训练。概念训练以选择题为主,检测学生对基本知识的掌握,利用教学平台投票方式和学生限时互动。编程训练采用案例式教学,给出程序设计任务,引导学生对问题进行任务分析,思考解题的思路,设计算法,最后考虑如何用C 语言实现它。同一个问题,往往有不同的解题思路和方法,引导学生前后连贯,归纳分析,活学活用,课堂效率大大提高。
课后:学生完成编程作业、线上章测试以及 QQ 群匿名答疑讨论,巩固学习效果。教师利用平台教学工具及时发现教学中的问题,QQ 小窗对学生进行沟通,学生学习进度慢及时对其进行督促。学生 QQ 小窗问的典型问题,转发QQ 群引导学生思考等。
3.3 教学策略与方法
(1)将“自顶向下,逐步求精,模块化”程序设计方法贯穿整个教学。程序设计一般包含输入、运算、输出三个部分。引导学生每一部分用什么语句实现,把一个大问题化解为若干小问题,培养学生的大局观念,使学生掌握程序设计的基本思路,引申到其他日常工作也是如此。
(2)培养创新精神,结合实际案例,根据课程内容的特点,采取不同的教学方式。
现场编程互动:通过案例逐步引入新的知识点,在编程过程中有意设置程序的运行结果与期望的结果不一致或者出现异常情况,引起学生注意和兴趣,让学生分析问题出在哪里。
启发式教学:把一些学生常出现的错误,有意给出一些带有算法错误或语法错误的程序段,使学生产生一些疑问,去思考,让学生自己去寻找程序答案,修正这种程序中的语法错误及算法错误。
一题多解、一题多变:拓宽学生编程思路和方法。
任务驱动式教学:让学生在一个个典型任务的驱动下展开,学生由简到繁、由易到难、循序渐进地完成一系列任务,充分调动学生的好奇心,培养学生探索知识的能力。引导学生在应用实践中掌握编程语言知识,将不同的程序设计方法进行分类,总结每类问题的程序设计思路,引导学生融会贯通,培养创新和实践的能力。
(3)立德树人与课程知识点融合。编程实践中引导学生识大局、守规则、养成科学严谨细致的良好习惯。任何一个 C 程序的编写都需要遵循一定的语法规则,否则编译通不过,得不到正确的结果。例如,在程序调试中漏掉一个分号,函数声明的位置不对,导致半天调试不出一个程序,学生在程序调试中懂得了遵守规则和严谨细致的重要性。课堂中跟学生反复强调,不依规矩不成方圆,必须严格遵守规则规定,才会少花时间,少犯错误。在例题中嵌入爱国立志内容,利用平台头脑风暴结合程序设计特点引导学生思考人生。学生可以发表自己的见解,其他同学可以点赞,让学生从编程中获得成就感。
(4)营造氛围,引导学生主动学习。课中让学生现场编程,拍照传到QQ 群,然后投到大屏幕,老师对学生的编程进行点评,极大的调动了学生的学习热情。课后教师与学生互动中有意识发现接受能力强的学生,或让学生毛遂自荐,上机时辅导其他学生,同时鼓励学生学习拓展内容。实践证明,这种方式带动了辅导同学周围学生的学习积极性。QQ 群也是学生体验互助共赢的一种好方式,有同学提问,就有同学答疑,老师适时地解答、鼓励,创造了课程学习的良好氛围。
4 多元考核评价
课程考核评价采用形成性评价和终结性评价相结合的多元化考核评价模式。
形成性评价占 40% ,包括线上学习成绩( 20% )、上机实践作业( 15% )、线下课堂互动的限时练习题( 5% ),这些数据在网络平台有记录。线上学习成绩由线上平时成绩(30 分)、线上章测试(30 分)和线上期末考试(40 分)组成。线上平时成绩由学习视频进度(15 分)+ 学习习惯(10 分)+ 学习互动分(5分)。
终结性评价占 60% ,学校统一组织笔试,考试重点是阅读程序与编程能力的测试。
5 结论
将线上学习与线下学习相融合,引入平时监管机制,激励了学生积极参与课堂活动,认真对待每一堂课,促进学生自主性学习、过程性学习和体验式学习,充分培养了学生的编程能力、解决实际问题的能力及创新能力。通过几轮的教学实践发现,百人以下课堂开展混合式教学效果较好,百人以上课堂不易掌握教学节奏。在教学中要多方位调动学生自主学习积极性,设计有趣及富有挑战性的程序设计题目更容易调动学生的学习兴趣。
参考文献:
[1] 苏小红 , 李东 . 高级语言程序设计课程思政教学案例设计 [J]. 计算机教育 ,2023,(9)
[2] 李静 , 李炳超 . 面向计算思维能力培养的 C 语言课程改革研究 [J]. 电脑知识与技术 .2022,(6)
[3] 唐建 , 王雷 .“C 语言程序设计”课程计算思维实践研究 [J].工业和信息化教育,2021(8)
[4] 程春玲 , 郑思露 , 杨健 .“新工科”背景下融合 OBE 的教学改革及其实践 [J]. 计算机时代,2020(8)
基金项目:2022 年度青岛理工大学校级一流课程项目(YLKC202220)
作者简介:迟春梅(1971-),女,山东烟台人,副教授,研究方向为大数据分析与智能系统。