投稿问答最小化  关闭

万维书刊APP下载

OJ 系统和在线课程混合驱动的程序设计课程教学新模式

2023/7/14 10:14:26  阅读:42 发布者:

1 程序设计在线课程和 OJ 系统研究现状

1)在线课程教学。

要发挥在线课程教学与线下课堂教学的优势,基于学习持续度、学习深度、学习满意度、技术分析与应用等,将在线课程融入教学设计,提升在线课程教学设计质量[1];通过优化在线开放课程顶层设计,提升在线开放课程的实施质量[2];并从研究者、高等院校和教师 3 方面提出了采用线上线下混合式教学创新和改革的政策建议[3-4]

2)程序设计课程在线教学。

学者们对程序设计课程线上线下混合式教学的目标定位、教学模式、教学评价和课程资源建设等方面进行了研究[5],认为可以从整理教学资源、规划线上教学内容、改革课程考核体系等方面入手,开展线上线下融合的教学研究和试验[6];提出学生课前利用线上教学资源做好预习,教师在线下课堂帮助学生理解知识,在课后利用线上教学平台完成考核[7];认为可以利用“互联网 +”环境,采用“微课”+“翻转课堂”教学模式[8];提出利用“MOOC+ 雨课堂”,采用“3+2+X”混合式教学模式,从教学内容和教学活动等方面开展教学[9]

3OJ 系统教学应用。

学者们认为 OJ 系统以学科竞赛为目标,通过设计并实现 OJ 在线评测系统,为编程竞赛培训提供练习平台[10-11],促进学生实践能力的提高;同时,基于 “OJ+SPOC”平台的混合式教学,通过课前、课中和课后的闭环教学过程,可以提高学生的程序设计能力和课程参与度[12]

综上所述,学界对程序设计课程在线教学的线上资源建设、线下教学开展、项目驱动法教学及加强实践环节等内容展开了研究,同时对 OJ 系统在提高学生的竞赛能力和实践能力等方面的应用展开了研究,但是对于如何将在线课程和 OJ 系统相结合,开展程序设计课程教学的研究相对较少。

由于程序设计课程具有很强的特殊性,教学中需要更加注重学生实践能力的培养,但目前来看,在线课程不能实现程序的自动判断,需要教师人工检查程序的正确性,非常耗时耗力,学生也不能得到及时和有效的反馈,无法进行编程的线上训练,导致程序设计的实践能力培养效果非常差。

2   教学新模式的实施目标和方案

2.1 实施目标

OJ 系统和在线课程混合驱动的程序设计课程教学新模式,采用线上教学和线下教学相融合的方式。总体的实施目标是通过故事引导和兴趣教学,乏味的工科课堂转变为趣味课堂;通过在线编程和在线课程,学生的“被动学习”转变为“主动学习”;通过 OJ 系统,对编程学习环境要求很高的灌输式教学,转变为方便灵活的体验式教学;通过增加 OJ 系统的线上编程训练和机考,单纯“重笔试”的结果性评价,转变为“重编程机考”的过程性评价。

1)乏味课堂变为趣味课堂。课堂上激发学生学习编程的兴趣,除了工科讲理论的教学方法,增加一些文科讲故事的教学方法,使得课堂变得有趣,让学生对课程产生兴趣。通过编程语言发展、企业成长历史、IT 时事新闻和名人演讲视频等生动的案例,增加课程思政的内容,让学生认识到学习编程技术,对个人成长和国家发展的重要性。通过展示一些趣味的习题、好玩的游戏、丰富的案例和多样的上机实践,引导学生对编程产生浓厚的兴趣。

2)“被动学习”变为“主动学习”。通过线上课程将课堂教学拓展到课外,为学生提供全天候的学习工具。教师可以通过网站检查学生的学习情况,从网上作业的完成来了解学生的知识掌握情况,配合课堂提问和机房实践检查学生的线上学习质量。线下课堂,教师通过对学生薄弱知识点的讲解,源码的编写和调试,让学生参考教师的代码,逐步学习编码并消化各个知识点,最后逐步提出一些引导性的编码改动要求,训练学生的实践动手能力。

3)灌输式教学变为体验式教学。针对程序设计的特殊性,建设 OJ 系统,里面建设各种趣味的编程题目,系统可以自动判断学生的程序源代码是否正确。学生完成编程题目的代码后,可以自己提交代码,实时得到代码的正确性评判。这种线上编程系统解决了编程作业的自动评判难题,不需要教师的人工检查,学生可以得到很好的交互体验。教师对学生的程序设计指导,不用和以前一样需要在固定的时间固定的机房完成,而是可以随时随地灵活地开展。

4)结果性评价变为过程性评价。借助 OJ 系统,可以实现在线的编程训练和机考,增加学生多次在线编程机考的过程性评价。以前学生的评价由平时成绩和笔试成绩构成,这样的评价方式存在一定的局限性,不能够更好地反映学生的编程实践能力。为了培养高水平技术技能型人才,提升学生编程实践能力,新模式将学生评价的组成变得更为多样化,新增多次在线编程机考的过程性成绩占比,如可以设定为:平时成绩( 10% + 在线作业( 10% + 课堂实验( 10% + 在线编程机考( 30% + 期末笔试( 40% )。

2.2 实施方案

OJ 系统和在线课程混合驱动的程序设计课程教学新模式的实施方案如图 1 所示。

根据实施目标,新模式从线上教学和线下教学两方面开展,实现线上线下的深度融合。学生可以通过线上自学、线上作业提交和线上论坛交流发挥主动学习的功能。线下的教学过程,课堂内容增加故事性、思政性和实践性的内容,提高学生学习的趣味性;采用翻转课堂的教学方法,教师将相对简单的知识通过在线课程提前讲解,课堂上主要加强难点讲解、课堂互动和上机实践。使用 OJ 系统,学生平时可以线上完成大量的趣味编程训练和机考训练,课堂上也可以通过线上编程提高实践能力。

新模式所需要的技术支持比较简单,方便可行。一方面,可以采用高等学校在线开放课程、超星泛雅等共享平台,在平台上建设在线课程,完善线上的课程资源内容,创设新形态的教学环境;另一方面,搭建在线编程判题 OJ 系统,系统里面建设各种趣味的程序设计题目,OJ 系统可以自动判断学生提交的代码是否正确,提高学生的学习参与度。

3   混合驱动之搭建 OJ 系统

3.1 OJ 系统的搭建

OJOnline Judge )系统是一种在线的编程判题系统,最早起源于 ACM 国际大学生程序设计竞赛,可以用来训练学生的编程能力。目前,一些高校为了竞赛目的开发了自己的在线编程判题系统,国内知名的 OJ 系统有北京大学的 POJ、浙江大学的 ZOJ、华中科技大学的 HustOJ 等。学生可以通过浏览器,在线提交多种程序语言(如 C++JavaPython )的源代码,系统对提交的源代码进行自动编译和执行,并通过预先设计的输入输出数据来检验源代码的正确性。OJ 系统的技术理论依据是软件工程中的黑盒测试,系统根据选择的编程语言对程序进行编译,对程序的编译执行时间和内存的使用量有一定的限制,编译通过的程序进行正确性检测,根据预先提供的大量测试用例输入数据来进行输出比对,进而验证程序的正确性。

OJ 系统可以在阿里云或者腾讯云的服务器环境下部署安装,通常基于一些开源的 OJ 系统,如 HustOJ 系统。安装后可以做一些优化和配置工作,使得系统更加适合本校学生的使用。OJ 系统不但可以用于程序设计的竞赛集训,而且可以用于教学环节的课堂上机实践、线上编程训练和线上编程机考。学生将自己在开发工具中测试通过的程序源代码提交到 OJ 系统中,系统可以评判程序的正确与否。

3.2 OJ 系统的题库建设

为了提高学生学习程序设计的主动性和趣味性,OJ 系统中需要大量丰富的趣味题库和测试用例。一方面通过网络搜索、购买等多种方式获得所需的资源,另一方面组织教师和学生针对学生的实际情况,编写各种符合学生实际能力的趣味编程题库。

4   混合驱动之在线课程教学

4.1 在线课程的教学资源建设

同线下课堂教学相比,在线课程的学习资源更加丰富,可以为学生提供全面完善的学习素材。通过超星泛雅等在线开放课程共享平台,建设线上课程的教学资源,为课堂线下教学提供预习、反馈和交流平台。在线课程把课堂教学拓展到课外,将教学大纲、教学课件、微课视频、程序源代码、题库、作业和考试等教学资源放到网站上,学习时间和空间更加灵活,可以满足学生随时随地主动性学习的需求。教学资源通过在线开放课程平台共享,让学生可以独立自主地开展学习,变“被动学习”为“主动学习”。

在线的题库题目可以分成两种。一种是单选题和填空题,这种题目放在在线课程平台上,学生完成提交之后,平台可以自动判题并得到标准答案和测试成绩;另一种是编程实践题,需要借助搭建的 OJ 系统,学生完成编码并提交后,OJ 系统可以自动判题并得到编程题的标准答案和测试成绩。OJ 系统的使用很好地弥补了在线课程在程序设计课程教学中的缺陷。

4.2 在线课程的深度参与和双向互动

1)增强在线课程的学生参与度。由于在线课程以学生为主体,因此需要更加注重提升学生的参与度、满意度和学习质量。首先,教师需要了解学生的学习要求,注重学生的学习体验,关心学生的学习质量;其次,教师需要根据学生的反馈,不断更新在线课程的教学资源,不断更新 OJ 系统中的题库资源,提高学生的学习参与度。

2)增强在线课程的参与效果。一般的在线课程主要针对于教学基础知识的讲解,对于一些理工科的难点重点讲解不够深入。这就要求教师针对难点重点,引入多样化的教学内容,如可以通过制作动画、多媒体和微课视频等方式更加形象生动地分专题讲解难点,增强学生的体验式学习和学习效果。

3)增强在线课程的互动效果。虽然在线课程平台一般提供交流论坛,可以供教师和学生发帖、回帖和互动,但是,在线课程和传统课堂相比,互动的及时性和效果都比较差。这就要求教师一方面增加在线互动的激励,增加课堂随问随答,另一方面增加线下课堂的互动交流和实践指导。

4)增强线上教学和线下教学的互动融合。线上教学和线下教学并不是各自孤立的,而是需要深度融合。这样可以把传统课堂线下教学的优势和线上自学的优势结合起来,既发挥教师在教学过程中的引导和监督的主导作用,又体现学生在学习过程中的主动和积极的主体作用。教师不仅要考虑如何才能提高学生在线学习的主动性,同时也需要加强线上的交流沟通和过程监控。线下的课堂教学需要注重课堂的趣味性和教学质量,与线上教学相互补充。

4.3 在线课程学习效果的评价

在线课程的学习具有很强的学习行为特征,需要注重学生的学习行为、学习质量和学习评价等内容。在线课程的学习效果评价,不仅要求细化分析在线平台的评价内容,也要求结合线下教学的评价内容。

1)通过平台的统计数据,评价学生的在线学习情况。可以从网上视频的观看情况来了解学生的学习时长;可以从网上作业的完成质量来了解学生的知识掌握情况;可以从在线课堂的考勤和答题来了解学生的学习积极性;可以从在线论坛的互动情况来了解学生的兴趣、难点和关注点。

2)通过平台的大数据分析,评价学生的主要学习特征。根据大数据分析的结果,构建学生的群体画像,不断调整教学内容和方法,提升对学生学习的客观评价,对不同类别的学生因材施教,实施差异化的教学策略和个性化的教学管理。

3)通过平台的评价信息,公开公平公正地评价学生的学习效果。在线课程需要及时公开学生的学习排名;需要通过技术手段屏蔽抄袭情况,比如提供不同的作业题库;需要通过线下课堂提问和机房实践,检查验证学生的线上学习的真实质量。

5   教学新模式的效果和后期计划

作为计算机应用、计算机网络、物联网应用、大数据技术等专业的基础课程,已经建设了 Java Python 语言等在线课程,最近两年的 Java 语言参与情况、授课资源、作业考试和互动情况如表 1 所示。

在实施教学新模式后,程序设计课程取得了预期的教学效果。通过使用课程体验调查法,从学习者的角度,设计了 OJ 系统和在线课程混合驱动的程序设计课程教学新模式调查问卷,让学生参与评价,了解学生对于课程教学模式的感受和体验等数据。问卷的每个题目赋予 1~5 分的五级分值,选择分值越高表明认为该选项越正面。问卷题目包括 8 个选择项,分别是学习主动性、学习积极性、课堂趣味性、学习兴趣、自学效果、编程能力、知识掌握量和考核合理性。

问卷调查通过“问卷星”在线开展,调查了 4 个平行班级,其中 2 个班级使用了教学新模式,2 个班级未使用教学新模式。最后,将调查问卷的 8 个测试项结果,同编程机考成绩和考核总成绩这 2 个客观性结果进行了对比。分析结果如图 2 所示。

通过对比分析,发现使用新模式的学生,主动性、积极性、课堂趣味性、学习兴趣、自学效果、知识掌握量和考核总成绩都有着一定的提高,尤其是编程能力和编程机考成绩有了明显的提高,很好地完成了改革目标。这个结果在程序设计竞赛中也有很好的体现,2021 年,在第十八届浙江省大学生程序设计竞赛中,所在的学校取得了 5 3 银的好成绩,金奖数量为浙江省高职院校第一,创下了参加本赛事近 15 年以来的最好成绩。

本教学新模式实现起来简单,实现效果比较好,具有较大的推广价值。当然,新模式后期还有很多需要优化和改善的地方。首先,由于 OJ 系统的题库建设和在线课程的资源建设都是一个长期、动态和反复优化的过程,因此还需要不断完善题库和资源。其次,线上和线下教学的结合也需要不断完善,只有实现线上线下的深度融合,才能取得更好的教学效果。比如在线课程存在作业抄袭的情况,在线课程作业的成绩存在不合理性,因此需要结合线下课堂的表现来给学生评定平时的成绩。最后,OJ 系统的功能也有很多需要完善的地方,比如后期可以添加章节题目、积分激励和成绩导出等功能,更好地和在线课程以及课堂教学环节紧密结合。

参考文献:

[1] 冯燕芳, 陈永平. 高职在线课程融合教学设计途径研究[J]. 职教论坛, 2020(6): 63-70.

[2] 胡新岗, 刘俊栋, 陈则东, . 高职在线开放课程教学质量影响因素调研分析与对策[J]. 中国职业技术教育, 2021(17), 82-87.

[3] 王雯, 韩锡斌. 职业院校课程混合教学设计的现状分析[J]. 教育与职业, 2020(9): 95-100.

[4] 刘勇. 程序设计课程“线上+线下”混合式模式教学的改革与创新[J]. 现代职业教育, 2021(11): 150-151.

[5] 周翔, 张延萍. 程序设计基础类课程“线上+线下”混合式教学模式实践[J]. 计算机教育, 2021(8): 138-141.

[6] 刘宁, 夏梦岩, 刘儒, . Python公共课线上线下融合式教学模式研究[J]. 科技风, 2021(9): 62-63.

[7] 鲁守璞. 计算机基础课程线上线下融合教学方式探索[J]. 教育信息化论坛, 2021(9): 37-38.

[8] 于莉. 互联网+环境下的高校计算机专业课堂教改现状及建议[J]. 计算机教育, 2020(5): 86-88.

[9] 王宇. 新工科背景下程序设计类课程混合式教学实践[J]. 计算机教育, 2021(9): 143-147.

[10]   刘勇, 田凯, 周晓琳, . OJ系统和学科竞赛为核心的程序设计实践教学[J]. 高教学刊, 2021(6): 28-31.

[11]   孔钦, 叶长青, 吴淳阳, . OJ平台在程序设计中的应用分析与实现[J]. 软件导刊, 2020, 19(1): 172-175.

[12]   张翠肖, 张国兵. 基于“OJ+SPOC”的程序设计课程混合式教学实践[J]. 中国管理信息化, 2021, 24(19): 230-232.

基金项目:浙江机电职业技术学院 2019 年新形态课堂项目 ( A0152193159 );浙江机电职业技术学院 2020 年新形态课堂项目 ( A0152203114 )。

第一作者简介:秦汉林,男,浙江机电职业技术学院工程师,研究方向为人工智能和职业教育研究,75776317@qq.com

引文格式: 秦汉林, 卢成浪, 邹会来. OJ 系统和在线课程混合驱动的程序设计课程教学新模式 [J]. 计算机教育, 2023(6): 189-193.

转自:“计算机教育”微信公众号

如有侵权,请联系本站删除!


  • 万维QQ投稿交流群    招募志愿者

    版权所有 Copyright@2009-2015豫ICP证合字09037080号

     纯自助论文投稿平台    E-mail:eshukan@163.com