贺晶晶
摘 要: 以自主搭建的Online Judge(OJ)实验教学平台为基础,采用混合式教学模式,教学过程中注重以OJ具体问题激发学生的学习兴趣,引导学生在课堂上进行小组讨论、探究,强化巩固理解教学内容,课后利用OJ平台开展拓展训练,提升学生计算机编程能力,提高学习效果。
关键词: OJ平台; 混合式教学; 程序设计; 教学实践
中图分类号:G642 文献标志码:A 文章编号:1006-8228(2017)06-58-04
C programming blended-learning practice based on OJ platform
He Jingjing
(Hunan Electrical college of Technology, Xiangtan, Hunan 411101, China)
Abstract: Based on the self-built Online Judge (OJ) experimental teaching platform, the blended learning mode is used in the teaching of C programming. The teaching mode pays attention to stimulate students' interest in learning with the specific problems on OJ platform, guides students discussing by group in class to strengthen the understanding of the content of teaching, and carrying out after-school training to improve students' programming ability, so as to improve the learning effect.
Key words: OJ platform; blended learning; programming; teaching practice
0 引言
C语言程序设计是高等学校理工科专业会开设的一门专业基础课程,主要培养学生掌握C语言的基本语法,了解程序设计思想和编程方法,培养学生具有一定的程序设计、分析、编码、测试等能力,以及解决一些实际问题的能力,为后续课程和从事软件开发工作打下良好的基础。通过此门课程的学习,培养学生对计算机编程的学习兴趣,培养计算思维能力。
然而,就目前高校学生的学情现状分析看,大部分学生刚入校时基本没有编程基础或有一些简单的编程知识。因此针对多数没有编程基础的学生,采用什么方法开展教学才能达到课程教学目标,成为教师一直以来不断探索的课题。本文提出一种基于OJ平台的混合式教学方法,能更好的激发学生的学习兴趣,培养学生的计算机编程能力,从而提高学生的计算机应用水平。
1 传统教学的问题与混合式教学优势分析
传统的C程序设计课程教学主要分为理论知识讲解和上机练习。学生先理解C语言的基本语法和编程思想,然后按照实验指导书要求完成实验题目,编写源代码。传统的教学中存在如下问题,第一,实验内容题目单一,学生编程思维比较局限;第二,学生实验结果检查难以及时检查,发现问题;第三,学生教师交流互动少,学生遇到问题无法及时解决,导致学习兴趣不浓厚,学习效果不佳。
根据传统教学存在的问题,结合信息技术的发展和对教学实践的不断探索,越来越多的教育研究工作者将注意力放在将传统教学与在线学习相结合,形成一种新的学习模式——混合式学习,这种学习模式逐渐成为大学课堂教学的主要改革方向[1]。
所谓“混合式教学”(Blending Learning)是将传统学习方式的优势和数字化或网络化学习(eLearning)的优势结合起来,既要发挥教师引导、启发、监控教学过程的主导作用,又充分体现学生作为学习过程主体的主动性、积极性与创造性[2]。
混合式教学方式对老师提出更好的要求需要其在课程设计和知识讲授中,将课堂教学与信息技术进行良好的融合,教学过程中使用“线下”(Offline)与“线上”(Online)的有机结合,并根据学生特点达到一个合理的学时分配。
笔者以自主开发的Online Judge(OJ)为实验平台,在C程序设计实践教学过程中,引入混合式教学理念,结合线上、线下教学模式,以OJ上的问题为核心与载体,在课堂内、外的自主学习中,以及在小组合作学习中,凸现学生学习的主体性、实践性,提高学生的计算机编程能力,并改革计算机类课程实验考核方式,从而提高教学质量。
2 Online Judge教学平台简介
Online Judge系统(简称OJ)是一个在线的判题系统。用户可以在线提交程序多种程序(如C、C++)源代码,系统对源代码进行编译和执行,并通过预先设计的测试数据来检验程序源代码的正确性。目前著名的OJ国外有RQNOJ、URAL等。国内著名的题库有北京大学题库、浙江大学题库、电子科技大学题库、杭州电子科技大学题库等[3]。
网络上的主流各大Online Judge系统,拥有丰富的试题库,用户注册一个ID,然后用自己熟悉的编程语言(一般有Pascal/C/C++/Java)编写源代码提交测试即可,会立刻返回信息显示你的程序正确性[4]。
笔者搭建了一个C程序设计课程的OJ平台,教师能够方便地在OJ添加和完善C程序设计课程相关的实验题目。利用OJ学习平台,学生编写大量的程序,通过调试应用,提高自身利用计算机分析问题和解决问题的能力,养成自学动手的良好学习习惯,較大程度上激发了学生的学习兴趣。教师也可以随时查看学生实践的情况,极大地减少了教师作业批改的负担,提高了工作效率和准确性。
3 基于OJ平台的混合式教学模式改革
3.1 搭建自主设计的OJ课程平台
首先建立自己课程的OJ平台,用户分为“教师”、“学生”角色。“教师”角色的用户,能够方便地在OJ添加和完善各类问题,主要是C程序设计课程相关的题目。利用 OJ平台,教师可以随时查看学生实践的情况,极大地减少了教师作 业批改的负担,提高了工作效率和准确性。
笔者实际教学中上传C程序设计课程的课后习题,如图1所示。教学中,为了更好地利用OJ平台,先建立学习小组,在学生课程学习之前,以网络信息发布方式将相关的练习平台推荐给学生;上课时利用学习能力强的学生作为小老师,利用学习小组,选定小组长,组长学习能力强能主动解答所在组成员学习过程中遇到的问题;并督促组员去OJ平台做题和完成教师布置的实验内容,每做一题会有相应积分,此分数作为期末平时成绩的一部分,提高学生的学习兴趣和编程能力。
3.2 基于OJ平台的混合式教学实施
⑴ 基于OJ平台的混合式教学设计思路
混合式教学模式的主要思路是将各类学习资源混合,学习方式混合,不同学习工具混合教学。在各类学习资源混合方面,C程序设计课程教师要善于将各类教学资源整合,例如课本资源、课程网络在线资源、教师自己整理加工的学习资源和网上优秀的学习资源;在学习方式混合方面,教师要将传统的面对面课堂教学和网络在线学习相结合;在不同学习工具的混合教学方面,教师要合理利用世界大学城网络空间、OJ实践教学平台、微信、QQ群教学等等。
在上述理论的支持下,笔者提出基于OJ平台的C程序设计混合式教学设计框架(如图2所示),按照这个框架, 混合式教学过程体现构建混合式教学环境、混合式教学实施、混合式教学评价等三个阶段进行,并且在实施过程中随时进行验证与评价。
[① 搭建OJ教学平台][② 面对面翻转课堂教学][③ 基于OJ实践教学平台的教学][③ OJ平台使用作品展示汇报,面对面交流学习][④ OJ平台数据统计、学生使用率评价][将学习资料放在网络学习平台,学习者根据需要学习这些知识][师生交互、学生之间交互学习][学生利用OJ平台进行实践编程练习,提高编程能力][通过OJ平台完成实践编程任务,并展示汇报、交流学习心得][利用OJ平台的学生实操数据统计,作为学生考核一部分,占期末总成绩的40%,其他平时30%、期末30%]
⑵ 基于OJ平台的混合式教学实施过程
利用构建好的OJ平台,同时建立教学论坛方便交流、讨论,将OJ上的问题作为核心和载体,以学生为主体进行自主探索学习,在网络环境下,学生既可以在课堂内又可以在课堂外进行自主学习,实施模式如图3所示。
[课前,教师搭建OJ平台,上传课程实验资料及拓展资源][课前,学生熟悉OJ平台,根据实验内容导学,小作业测试][课中,教师主导教学,共性问题讨论,答疑、交流、小组案例报告][课后,学生与教师进入课程交流群进行主题式讨论及OJ平台资源再学习]
⑶ 利用OJ數据统计分析进行混合式教学评价
当学生基本完成实践操作之后,要对实验进行总结和评价。在传统的C程序设计课程考核中,教师主要按学生的实验报告评定实验成绩,这种考核方式,对学生来说没有压力,存在相互抄袭的现象。现在基于OJ上的实验内容,进行程序的编写、调试、修改、提交程序,学生能实时得到评测结果和最新排名,根据OJ平台的参与度进行综合评价,并且期末上机考试可在OJ系统上进行,每个学生进行独立测试,体现测评合理性。
⑷ 基于OJ平台的混合式教学实施效果
在实际教学班级中我们对2个班级的C程序设计实验课程进行了对比分析,其中,计算机1班学生人数28 人,进行了OJ平台教学模式改革试点;计算机2班学生人数30人,未引入在线学习等混合式教学改革,这两个班在课程考核情况对比分析中,1班的编程实践考核通过率为88.6%,2班的编程实践考核通过率为76.4%。通过学习评价问卷调查分析,通过实践教学模式改革班级的学生,学习兴趣、积极性、实践能力等各方面都得到较大的提高,体现出混合式教学模式改革的初步成效。
C程序设计课程教学中,我们利用OJ实践教学平台结合翻转课堂进行混合式教学,以OJ上的具体问题进行问题驱动,激发学生的学习兴趣,培养学生自主学习的能力。要求学生在阅读OJ上的实验题目后,思考求解方法,查阅、整理资料,当学生的自主学习遇到阻碍时,教师再进行面对面课堂讨论、引导思考,翻转课堂教学活动包括以强化巩固理解C程序设计知识为目的的学习支持活动,以及促进小组成员协作交流、知识建构为目的的互动交流活动。
4 结束语
基于OJ平台的C程序设计混合式教学,有助于解决传统教学中学生缺乏实践操作的条件、自主学习缺乏、师生之间缺少交流等问题,提高学生的学习效率和学习的主动性。
通过教学实践,学生认为OJ平台的混合式教学模式有用而且有趣味,一方面优化了自己的学习方法,并能为自己提供更多的反思机会和编程操作的时间,一些模棱两可抓不住重点的问题经过OJ平台上的小测验等能够得以“做中学”,“玩中学”,从而更好掌握计算机技能,另一方面,通过这种模式进一步展示同学之间一起合作、讨论研究,提高了个人交流合作的能力,进而加深对知识的理解、记忆,提高了学习效果,教师也提高了工作效率。
总的来说,利用OJ实践教学平台的在线学习是传统课堂教学的有益补充,能有效促进课程教学改革,并提升教学质量。
参考文献(References):
[1] 王妍莉等.基于Blackboard平台的民族高校混合式教学行动
研究[J].电化教育研究,2015.9:77-82
[2] 何克抗.从 Blending Learning 看教育技术理论的新发展[J].
电化教育研究,2004.3.
[3] 百度.OJ的定义[EB/OL].[2016-12-1].https://zhidao.
baidu.com/question/647404762646677565.html.
[4] 风雨无阻博客.各大OJ平台介绍[EB/OL].[2012-2-7].
http://www.cnblogs.com/lzmfywz/archive/2012/02/07/2342010.html.
[5] 范立新等.基于OJ的《数据结构》探究式实验教学探索[J].绍
兴文理学院学报(自然科学),2015.7:91-95
[6] 蒋宁.基于混合式教学的计算机“C#程序设计”课程教学改
革研究[J].职教通讯,2016.3.
[7] 刘利.基于OJ平台的《程序设计基础》实践教学方法[J].电脑
知识与技术,2015.11:104-105