基于“OBE+OJ”的程序设计类课程混合式教学模式研究
2023-02-24杜少波
杜少波
(贵州商学院计算机与信息工程学院 贵州 贵阳 550014)
“线上+线下”混合式教学模式,已成为当前高校教育教学的重点。通过线上线下混合式教学的开展,教师可以随时随地进行教学,同时可以拓展教学内容和增加学生的认知;学生可以不受学习时间和学习场所的限制,根据自己的实际情况利用碎片化时间进行学习,提高了学习效率。在线上线下混合式教学中,教师和学生的角色关系已经发生了较大的改变[1]。在传统的教学中,学生是被动接收知识,而在线上线下混合式教学中学生的积极性得到了最大的发挥,学生不需要紧跟教师的授课进度,有更多的时间和空间进行自主学习,利用互联网平台还可以实现与教师的良性互动,保证教学效果具有质的提升。
程序设计课程是高校必开的学科基础课程。无论是开设C语言还是Python程序设计,都可以通过程序设计语言的学习培养学生的计算思维、逻辑思维和应用计算机解决实际问题的能力。在日常教学中,教师将知识传授给学生,布置练习作业,这种传统教学方法只是将程序设计思想简单传授给学生,而在实际操作过程中学生仍然感觉无从下手。在当前的新工科建设背景下,这种传统教学模型以无法胜任,因此需要进行改革创新。
2008年加拿大高校提出了在网上提供免费课程的大型开放式网络课程(Massive OpenOnline Courses,MOOC)[2]。2013年国内大学开始了MOOC的建设,到今天中国MOOC已经形成较为完善的生态体系。虽然MOOC推动了教学模式的创新,但是由于学生缺乏自主学习主动性,导致教师无法及时了解学生的学习状况。因此,2013年出现了小规模限制性在线课程(Small Private Online Course,SPOC)教学模式[3]。SPOC是一种线上线下相结合的混合式教学模式,与MOOC相比最大的区别在于规模。
在线评测系统(Online Judge,OJ)起源于ACM-ICPC国际大学生程序设计竞赛,主要用于评测程序设计竞赛程序代码的正确性和选手排名。在线评测系统按照事先设计好的测试用例来自动编译竞赛选手的代码并验证程序结果[4]。一开始主要用于程序设计竞赛,后来逐渐应用于高校的程序设计课程教学中。
通过线上线下混合式教学方法,将程序设计课程与在线评测系统相结合形成课程理论内容和实践内容混合教学的模式,同时根据学生的产出,不断改进课程的教学目标、教学内容和评价方法,引导学生积极参与到课堂教学中。将传统教学中学生只是知识的被动接收者转变为课堂的主动参与者,教师不再是课堂的主角。学生在学习了理论知识后,利用线上评测系统进一步巩固所学内容,并将理论知识转变为程序代码,不仅有利于知识的掌握,同时也提升了学生的实践动手能力。
1 构建“OBE+OJ”教学模式
传统的课堂教学模式,如图1所示。教师根据制订好的教学计划对课程内容进行讲解,学生根据教师安排完成课堂实验或课后实验。这种教学模式对于程序设计类课程而言存在诸多问题。
图1 传统教学模式
首先,教师根据章节内容提出实验要求、学生根据要求完成实验、教师验收实验结果。在这种模式下,学生很难去构造更多的测试用例来验证程序设计的正确性,仅仅停留在只要能够运行,获得实验结果即可。程序设计的整体性、空间复杂度和时间复杂度等很难引起学生的重视,这样不利于培养学生良好的程序设计习惯和意识。
学生在运行程序的过程中有可能出现语法错误或编译错误的问题,同时存在运行结果不正确或只有部分正确的可能性,随着时间的推移会逐渐打消学生学习的积极性,这样不利于学生参与到课堂教学中。
其次,课程考核模式。程序设计类课程按照传统笔试试卷考核,学生只是停留在试卷内容上,无法验证自己编写的程序是否正确,这样很难调动学生日常学习的积极性和参与实践的积极性,同时不利于学生编程能力的培养、掌握程序调试方法、程序设计乐趣、创新思维的培养。
最后,教学反馈。传统教学模式中,教师只是简单完成了教学任务,而对于学生对知识的掌握情况和学习效果很难把握,无法及时、准确地掌握学生在学习过程中遇到的问题,对于学情的分析缺乏支撑数据。这对于教师后期调整和修改教学目标是不利的。
针对传统教学模式存在的问题,为了进一步提升学生学习程序设计课程的积极性,笔者设计了基于“OBE+OJ”的教学模式,利用EduCoder实践教学平台来实现线上线下混合式教学,通过混合式教学提高学生的课堂参与率和学生的学习兴趣;根据在线学习和在线实验效果反馈来优化教学目标和教学内容,改善实验内容,综合提高学生的程序设计能力和创新能力;利用EduCoder平台提供的SPOC模块可以组建小规模限制性在线课堂,提供具有针对性的在线教学资料和课堂互动,进行个性化培养[5]。基于OBE模式对课程考核方式进行改革,将过程性考核与结果产出相结合,进一步提升学生参与课堂的积极性和自主学习能力;根据日常学习数据和最后的考核结果反馈,改善教学目标和教学内容,切实提升教学质量。
基于“OBE+OJ”的程序设计类课程混合式教学模式,如图2(p59)所示。EduCoder实践教学平台结合了SPOC和OJ两大功能,既可以实现SPOC教学,也可以实现程序在线评测。借助该平台教师可以开展线上线下混合式教学,提前将课程内容上传至平台,学生可以完成课前内容学习、教学视频观看、自我测验;通过线下课堂开展重点难点分析、课堂讨论和答疑;课后完成在线作业和实验。
图2 OBE+OJ程序设计类课程混合式教学模式
利用“OBE+OJ”教学模式,实现以产出为目标的线上线下混合式教学,可以提升学生参与课堂的积极性,利用SPOC模块学生通过课前线上学习掌握内容知识、课中对疑难问题进行针对性的解决、课后对内容进行巩固、期末对教学目标进行改善形成一个以产出为导向、持续改进的混合教学模式,将其形成一个教学、评价、改进的闭环教学模式[6]。将学生从教学的被动接收者转变为课堂的参与者,通过后台数据对学生的各个学习环节进行量化分析,分析每个学生的学习情况,制订具有针对性的教学策略,做到个性化教学、因材施教。
2 “OBE+OJ”的教学模式实施
开展“OBE+OJ”教学模式,需要对传统教学课堂进行重新设计,同时需要建设线上教学资源。可以依托EduCoder实践教学平台来完成线上线下混合式教学和实践教学。
2.1 OBE+OJ教学资源的设计与开发
采用线上线下混合式教学模式开展程序设计类课程教学较为合适,因为程序设计类课程强调理论知识与实践能力的重要性,同时对于学生的实践操作能力和动手能力要求较高,而传统课堂教学注重理论知识的教授,难以获得较好的教学效果。因此,借助于线上线下混合式教学,可以在线上开展理论知识的教授和实际编程能力的培养,在进行线下教学时,重点解决学生在学习过程中遇到的疑难问题,这样可以提升学生理论知识的掌握和实际动手操作能力。
开展线上教学最为重要的就是利用好线上教学资源,如教学视频、教学文档等。按照MOOC教学模式的思想,以课程知识为主线开展教学资源的开发,每个知识点对应一个教学视频,视频的时长通常控制在10-20分钟之内最为合适,这是根据人的持续关注的时间理论而设计的[7]。在EduCoder平台上搭建程序设计类课程的课程目录,根据知识点将课程教学视频和教学资源放入目录中,方便学生在上课前学习,同时对于各个知识点也设计了自我测试的内容,用于验证学生对于知识的掌握情况,方便教师课下讲解疑难点;在各个知识点之后还设计一个章节测验,用于验证学生对本章节内容的综合掌握程度。
在线测评系统的优点在于可以实现自动化测评,可以在设计课程目录时利用平台自带或自建的题库嵌入各个知识点,根据知识内容设计课后作业和实验,进一步巩固学生的程序编写能力。
OBE教学理念是以产出为导向来设计教学目标和教学内容,将线上线下混合式教学与OBE理念结合,可以通过不断优化教学目标和教学内容来开展线上线下混合式教学。
2.2 开展线上线下混合式教学实践
2.2.1 基于OBE的混合式教学实施计划和教学设计
混合式教学打破了传统的教学模式,因此需要重新设计教学计划。依照OBE教学理论,依托教学目标、教学内容和课程学时、学分,制订出每个章节的学时分配计划;根据每次教学的重点进行教学计划的制订,如课程导入、预习内容、课堂内容的重难点内容和相关课程思政元素的融入、课后实验等。
在进行混合式教学时,需要对每次的教学进行重新设计,总体上包含课前、课中和课后三个阶段。课前需要在线上学习相关知识的教学视频、知识点相关资料和自我测验等;课中主要体现在线下教学上,重点讲解知识疑难问题和开展相互讨论;课后主要布置作业、实验和小组讨论等内容。
经过各个阶段的设计后,教师可以根据教学内容和学生掌握程度来进行有针对性的调整或优化,进一步改进教学设计。
2.2.2 混合式教学活动
教学活动是对教学计划的具体体现,通过教学活动来完成教学计划。教师在课前通过教学平台将教学内容发给学生,学生可以了解应该学习什么内容和完成什么任务。
教师通过平台查看学生的课前学习情况,如视频观看情况、自我测验试题等,能够很快了解学生对于当前知识点的掌握情况,以及需要重点讲解的内容是什么,在课中对掌握不到位的内容进行5-10分钟左右的讲解。为进一步理解本次内容的重难点内容,可以让学生在课后开展扩展阅读和实验等。对于程序设计类课程来讲,课后作业中程序设计类题目要占到全部作业的90%以上。
2.2.3在线实践教学
程序设计类课程对于学生的实践动手能力要求较强,因此需要进行大量的编程实践,才能提升学生的编程能力,如果实践投入不够,学生对于程序设计很难有一个本质性的认识和提高。教师在平台上布置实验作业时,需要强调时间观念,即学生应在规定的时间内完成相关题目。作业完成后,平台会根据学生完成的情况,依照准确率、用时和程序设计的复杂度进行评测,给出成绩和综合排名。通过在线评测系统,不仅可以培养学生的时间观念,还可以培养学生解决问题的综合能力。
2.3 课程团队建设
开展混合式教学需要有一支善于钻研新教法和教学模式的教师团队,团队成员可以由专业课程教师与思政课程教师共同组建,在进行专业课程教授的过程中不断融入课程思政内容,完善和充实教学内容。
在混合式教学中融入思政元素,建议与马克思主义学院课程思政咨询团队对接,请咨询团队在课程的教学设计、教学资料的制作、教学内容中思政元素的挖掘等方向,给予指导与帮助[8]。
同时,着力提升专业课程教师应用OBE教育理念和思政教育的能力,转变传统的教学方法,努力打造一支善于钻研新教学方法和挖掘思政元素的课程教学团队。在课程实施中,不仅将新的教育教学方法带进课堂,同时还将中国的优秀文化和历史人物融入教学中,培养学生艰苦奋斗、精益求精和精诚团结的团队精神,引导和帮助学生成为对社会和国家有用的可靠人才。
3 “OBE+OJ”教学效果反馈
根据产出导向的教育理念,在制订课程目录时,依据课程知识点要求创建不同数量的任务点,其中教学视频占60%左右。以C语言程序设计课程为例,学生日常观看视频的参与度为95%。在教学初期学生平均提交在线测试次数为4.5次,说明教学初期学生刚接触程序设计课程,还没有完全掌握程序设计语法和要求,出现错误最多的为语法错误和运行时错误。通过不断练习,学生掌握了程序设计的基本语法结构和一些调试技巧,测评次数也不断减少。
对于课程最后的考核方式进行了改革,传统考试注重最后的试卷成绩,而忽略了学生学习过程的重要性。因此最终的考试加大过程性考核比例,如在线学习、自我测验、作业和实验等,占70%;而期末考试成绩仅占总成绩的30%。
在课程结束后,可以通过后台数据、学生综合成绩、学生网上评教或调查问卷等多种形式对教学效果进行调查分析,其中有90%的学生表示,应用OJ在线评测系统提升了自身的程序设计能力。同时对于后期参加程序设计竞赛也奠定了基础,现阶段计算机类研究生复试也是采用上机编程的考核方式,这也让他们提前适应了线上程序设计环境。可以根据学生提出的问题和建议对教学的目标和教学内容进行不断的优化和完善,形成一个良性的互动。
4 结语
在新工科建设的背景下,开展线上线下混合式教学已经成为高校课程改革的重点。线上线下混合式教学打破了时间和空间的局限性,利用信息技术手段将教学进行延伸,充分调动学生参与课程的积极性和学习的主动性。针对程序设计类课程的特点,将OBE教学理念融入线上线下混合式教学模式中,构建了基于“OBE+OJ”的程序设计类课程混合式教学模式,依据教学产出来持续改进教学目标和教学内容。该模式将学生从被动接收者转变为课堂的主角,学生的主动学习能力得到了提升,也提升了学生的编程能力和编程兴趣。