基于“OJ+SPOC”的程序设计课程混合式教学实践

2021-11-22 00:11张翠肖张国兵
中国管理信息化 2021年19期
关键词:程序设计编程作业

张翠肖,张国兵

(石家庄铁道大学a.信息科学与技术学院;b.现代教育技术中心,石家庄 050043)

0 引言

C 语言程序设计是目前各高校工科类专业的学科基础课程,目的是培养学生计算机编程能力、计算思维和逻辑思维能力,以利用计算机解决工程实际问题,一般开设在大学一年级。传统的“满堂灌”课堂教学模式已经不能适应新工科背景下,OBE 教育模式的要求,需要进行改革和创新。

MOOC(Massive Open Online Courses)的出现,开启了远程教学、在线学习新模式[1]。但是,目前学生存在课下学习主动性差的问题,如果完全照搬MOOC 组织教学,老师无法精准掌控学情,无法了解学生线上MOOC 学习情况。2013 年,美国加州大学的阿曼德·福克斯教授提出了SPOC(Small Private Online Course)教学模式,即小规模限制性在线课程。SPOC 可以将优秀的MOOC 线上资源和线下课堂教学相结合,形成一种新型的混合式教学模式[2]。

OJ(Online Judge)是一种在线评测系统,用户可以在线提交多种程序代码,系统会自动对代码进行编译,并利用事先系统设计好的测试用例执行程序,对程序进行自动评测。是各种计算机程序大赛的主要平台,也常用于高校程序设计类课程的实践教学平台[3]。

本文在我校面向非计算机类专业的基础课C 语言程序设计中,融合OJ 和SPOC 系统,构建了线上线下混合式教学模式,改进课程评价体系,提高了学生的教学参与度,有效提高了学生的编程能力。

1 基于“OJ+SPOC”的混合式教学模式设计

传统的教学模式,一般是老师课堂教授,学生课下完成作业,机房进行上机实验。对C 语言程序设计这种编程类课程来说,存在着很多不足,最主要表现为:(1)“老师布置题目、学生编程实现自测、老师验收”这样的实践模式,学生都很难去构造充分的测试用例,会仅仅停留在最基本、最主要的测试数据中,程序设计的通用性、时空性能要求很难得到训练,不利于系统培养学生程序设计能力。另外,学生提交的程序可能存在编译错误、运行结果不正确或者部分正确等多种问题,学生得到的反馈比较慢,会大大影响学生的参与度和创新能力的培养。(2)传统的以期末闭卷考试为主的课程考核方式,很难调动学生的学习积极性,对提高学生的程序设计能力、掌握程序调试技巧、享受编程的快乐、开拓创新思维都是不利的。(3)老师无法方便地精准掌握、统计和分析学生的学习情况。

为克服传统教学方式的弊端,提高教学效果,针对程序设计课程,设计了基于OJ+SPOC 系统的混合式教学模式,利用OJ 系统搭建实践教学平台,充分利用平台,提高学生课下学习投入,从而加大实践训练程度;根据平台的实时反馈结果,学生可以随时修改优化程序,提高了学生的参与度和创新实践能力;利用SPOC 课程平台,构建全员参与和个性化调动的课堂互动模式,提供线上学习资源,进行个性化培养。同时改进课程考核体系,过程性考核和结果性考核相结合,充分调动了学生的学习积极性。

基于OJ+SPOC 系统的C 语言程序设计混合式教学模式如图1 所示。OJ 和SPOC 平台为混合式教学的基础平台,其中,OJ 系统平台为实验教学平台,SPOC 平台为线上教学的主要平台。借助这两个平台,老师可以组织混合式教学,课前布置在线学习任务点,学生学习教学视频、完成老师的自测题;在线下的课堂教学中,老师组织重点讲解、组织讨论、互动和课堂练习;课后利用OJ 平台布置作业和实验。

基于OJ+SPOC 系统的混合式教学,大大激发了学生的学习动力,课前在线自学、课中参与课堂活动、课下完成作业,三者形成一个闭环[4]。使学生真正成为教学主体,教师为主导。在教学平台的支撑下,学生在各个环节的表现得以可视化和量化。老师可以精准地把握每个学生的学习,做好学情分析,进行个性化教学。

2 基于“OJ+SPOC”的混合式教学模式实践

利用混合式教学模式进行课程教学,需要重新设计教学环节,精心设计在线教学资源。C 语言程序设计课程依托超星泛雅平台建设了在线网络课程,进行线上线下混合式教学实践。

2.1 OJ+SPOC 混合学习资源设计与开发

2.1.1 OJ 实践教学资源建设

OJ 作为一个在线自动评测平台,优势在于计算机程序的自动评测。在C 语言程序设计课程中,采用了杭州百腾教育科技有限公司的“拼题A”OJ 平台,利用平台的自有题库和自己编制的题目,根据课程进度计划设计了课后作业库和实验项目库,共完成13 个作业库,5 个实验项目库,为课程实施打下基础。

2.1.2 SPOC 教学资源建设

C 语言程序设计线上教学最主要的教学资源就是课程视频,借鉴了MOOC 的思想,按照知识点组织课程脉络,每个知识点对应一个视频文件,录制了C 语言程序设计全部课程视频,共61 个视频;根据人的持续关注时间每个视频长度在5~20 分钟,共800 分钟。

利用超星泛雅平台,搭建了网络课程,根据知识点设计课程目录,把视频嵌入到课程中,便于学生课前学习,并在每个知识点设计了自测题,每一章设计了章节测验。

2.2 混合式教学实践

2.2.1 混合式教学实施计划和教学设计

进行混合式教学方式,需要重新设计教学实施计划。首先根据教学目标、教学内容和教学总学时,确定每章的学时分配;然后针对每次课进行教学计划,包括预先内容、授课内容和重点难点以及课后作业。

针对每次课,需要进行详细的教学设计,包括:课前线上学习内容、具体到知识点和视频链接、需要完成的自测题以及时间安排;课中的课堂教学设计,包括课堂活动设计(时间点、具体内容和形式)以及每次课后的作业设计。

2.2.2 混合式教学活动

混合式教学活动,包括课前学生学习、课堂教学活动以及课下活动。为了让学生明白每次课的教学组织和教学内容,课程组设计了“学习任务单”,提前下发给学生,让学生明确每次课的课前任务、课堂组织步骤以及课后的作业、主题讨论等。

教师通过查看学生的课前学习情况,以及自测题的正确率,大致了解了学生的易错点。课堂活动一般先进行一次5 分钟的、针对学生自学的课堂测验,讲解重点内容。课后完成扩展阅读和课后作业。

课后作业包括了编程题和非编程题,编程题部署在OJ 平台,非编程题部署在SPOC 平台。共布置13 次作业,其中10 次作业包括了编程题。

2.2.3 基于OJ 的实践教学

C 语言程序设计课程有极强的实践性,没有一定量的实践投入,学生很难掌握程序设计的精髓,为锻炼学生的限时编程能力,采用了“拼题A”OJ 平台为课程的实践教学平台,平时的编程作业、实验都在此平台下完成。除了第一章绪论没有安排上机实验作业外,其余每一章都安排了上机实践任务。共布置了10 次上机作业、5 个实验项目。每次作业在下发后,要求学生在规定的时间内完成并在线提交,系统会自动进行评测,给出成绩。

3 教学效果

利用SPOC 平台发布任务点114 个,其中课程视频占57%,笔者班级共115 名学生,在线观看视频学习的平均参与度超过90%。在利用OJ 平台实践方面,平时上机作业10 次,实验项目5 个。第一次上机作业提交数为395,每个学生平均提交3.4 次;第10 次上机作业提交数为164,每个学生平均提交1.4次,说明刚开始时,出现的编译错误、运行错误较多。随着训练的增多,编程能力得到锻炼,多数同学一次提交就能做对。

最终的课程考核,加大了平时考核的比例,包括学生的在线学习、课堂测试、作业程级和实验等,占70%;期末考试成绩占30%。全班平时作业平均成绩为80.4 分;实验平均成绩为87.3 分。

从最后的总成绩上来看,90~100 分的37 个,占32.17%;80~90 分的32 个,占27.837%;超过60%的同学达到良好以上,教学效果明显提高。

4 结语

教育技术的发展、在线网络课程资源的不断丰富以及新时代大学生的特点,促使线上线下混合式教学成为高校教学改革的重点之一。混合式教学能够将信息技术和教育教学深度融合,充分发挥学生的教学主体作用和学习积极性。本文针对程序设计类课程特点,构建并实践了“OJ+SPOC”的混合式教学模式,进一步优化了课堂教学效果,学生的程序设计实践能力得到有效加强。下一步的建设需要在如何进一步调动学生的学习主动性和学生创新实践能力上下功夫,精心设计课堂互动,进一步优化课程考核,增进学生“我编程,我快乐”的学习体验,提高学生程序设计实践创新能力。

猜你喜欢
程序设计编程作业
编程,是一种态度
元征X-431实测:奔驰发动机编程
编程小能手
基于Visual Studio Code的C语言程序设计实践教学探索
纺织机上诞生的编程
从细节入手,谈PLC程序设计技巧
高职高专院校C语言程序设计教学改革探索
作业
PLC梯形图程序设计技巧及应用
我想要自由