王贵玲 刘倍雄
摘 要:“C程序设计”是软件技术专业的专业基础课,实践教学是其重要组成部分。文章在介绍dotcpp在线评测系统的基础上,详细论述了dotcpp在线评测系统在“C程序设计”课程实践教学中的应用。实践证明,该系统能够实现程序代码评测的自动化,促进学生自我训练和提高编程技能,并在很大程度上提高教学效率和教学质量。
关键词:在线评测系统;C程序设计;实践教学
“C程序设计”是成人继续教育计算机专业的专业基础课,C语言是为了培养学生的逻辑思维能力,为后续专业课程打下坚实的基础,所以C语言的教学就显得特别重要。如何提高“C程序设计”的教学效果,需要任课教师改变枯燥无味的传统教学方式,在课堂中引入大量的编程上机实践训练,在实践教学中掌握C语言程序设计的思想和方法,从而提升分析问题及解决问题的能力,因此也提高了学生编写及调试程序的能力。
目前,绝大部分成人继续教育计算机专业的学生作业仍是人工评阅,这种方式花费任课教师大量的精力和时间,并且效率较低。为了让教师们从手工评阅的繁重工作中解脱出来,让他们把更多的精力投入教学中去,因此,我们提出了基于dotcpp在线评测系统的C语言教学模式:利用dotcpp在线评测系统代替教师人工评阅,实现了自动化评测学生作业,减轻了教师的工作负担,学生还可以在线评测系统中查看错误和正确题解,这样提高了学生自主学习和编程训练的积极性,在线评测系统实现了作业及时、准确的评测,大幅度提高了教师的工作效率和教学效果。
1 C语言教学现状
因C语言概念抽象、内容零碎,对于初次接触C语言的高校学生说,学习起来有很大难度,对成人继续教育的学生而言更是难于上青天。据笔者调查,在笔者所任教的5届成人继续教育的学生中,一直有很多同学反映C语言课程较难,很多内容听不懂;即使上课听懂了,自己动手编程时无从下手。产生这些问题的原因有以下几点[1-2]。
1.1 成人继续教育生源质量素质薄弱
成人继续教育的学生生源绝大部分都是高考落榜或中专毕业的学生,他们的文化课程基础薄弱,例如:高等数学、英语课程基础较差,学习接受能力有限,自主學习的主动性和积极性都不高,自制能力也比较差,课上易走神,课下不复习。
1.2 课程课时严重不足
以华南师范大学继续教育学院为例,由于C语言程序设计课程一般一周4节课,学生参加全国统一考试时间为每年的4月份和10月份。C语言程序设计课程是实践性比较强的课程,要求学生掌握基本的编程语句、语法规则,动手编程才能够提升逻辑思维能力,但因实验课时缺乏,造成学生动手编辑能力较差,授课效果不理想。
1.3 课堂上老师的热情感染不了学生的冷漠
在实际教学中,老师安排一节理论讲解,后一节学生上机实操。开课初期,学生的兴趣和积极性都比较高涨,随着课程难度的增加,课堂上大量理论知识的教学,学生参与度下降,加上成人继续教育学生的学情,很多学生就会出现厌学、逃学的现象。老师在课堂上虽然也会引入比较热门的案例,但是依然解决不了学生对知识点的吸收和理解难的问题,理论还可以接收,但是动手编程就无从下手。
1.4 实践性环节重视不够,编写调试程序难
学生上机编程实操对实验目的或实验内容糊涂,由于基础知识掌握不牢固,上机编程无从下手,编写出来代码的同学在运行过程中,遇到错误提示,调试也无从下手。
综上所述,继续教育要跟上时代潮流,将dotcpp在线评测系统引入“C程序设计”课堂教学中,这样可以充分调动学生的积极性和兴趣,提高教学质量。
2 在线评测系统
Dotcpp在线评测系统是一个用户可以在线提交(C、C++)的源程序,系统对源程序进行评测,从程序运行的正确性、内存、耗时及提交时间等方面对代码进行评测,并返回评测结果。在2017—2018学年第1学期初,笔者将dotcpp系统运用到了本学期的C程序设计教学和广东环境保护工程职业学院参加广东省蓝桥杯比赛的校内选手选拔中。随后探讨将这一模式引入其他开发类课程的实践教学中。
3 “C程序设计”实验教学+dotcpp在线评测系统的应用
利用该系统,可以在计算机上实现教学做一体化,教师根据授课计划讲解理论知识,然后学生根据教师讲解的理论知识在dotcpp系统选择对应的编程题,课堂上的难点可以在系统平台上的编程中得到反复的训练,课堂内没有掌握或不够熟练的知识点,课下可以随时随地登录该系统进行练习,教师通过该系统查看学生出错点、做题所花时间等情况,增加了师生线上线下的互动,改变了传统的课堂教学模式,提高了学生的编程能力。将dotcpp系统引入教学中,使教师从人工评阅作业的繁重工作中解脱出来,把有限的精力投入教学中,该系统为师生提供一个“教学相长”平台[3-4]。
3.1 dotcpp在线评测系统应用到了课堂教学竞赛
在线评测系统激发学生的学习兴趣,教师在课堂上开展月编程竞赛或阶段性学生比赛,学生的学习情况可以立即体现出来,这样可以激发学生编程的兴趣和提高学生学习的积极性,大大提高了学习效率。
3.2 在dotcpp在线评测系统举行阶段性测试
教师在系统题库选择测试题目和设定测试时间,学生在规定的时间内完成测试。教师通过系统的测试页面查看提交试卷的每位学生的结果、内存、耗时、代码长度等信息。在线评测系统按照正确的题目数给所有参加测试的学生进行排名(见图1),系统先按正确题目数排名,题目数相同的按提交的先后时间进行排名。全班每个同学都可以在平台上查看排名,名列前茅的学生除获得系统提供的物质奖励,还可获得学时分,相对落后的学生会找出差距、取长补短迎头赶上,形成你追我赶的学习氛围。学期末,任课教师根据阶段性测试和竞赛排名及平时提交编程题目的数量打平时成绩。
4 结语
“C程序设计”实践教学+dotcpp在线评测系统,培养了学生编程能力和思维能力,极大地提高了学生的动手能力和学习的积极性,也为蓝桥杯竞赛选拔选手提供了平台。在线评测系统与“C程序设计”课程的融合,不但减轻了教师批阅作业的负担,而且还提升了教学效果。
实践证明:将dotcpp在线评测系统融入“C程序设计”课堂教学中效果显著。为了更好地发挥该系统的优势,让其他软件开发类课程也实现在线实践教学及无纸化上机考试,是值得我们进一步探索的课题。
[参考文献]
[1]林巧,韩建民.基于在线评测系统的C语言实践教学探讨[J].实验科学与技术,2011(6):37-39.
[2]李群.源程序在线评测系统在“C语言程序设计”教学中的应用[J].福建电脑,2013(2):187-188.
[3]苗桂君,刘勇,许南山,等.在线评测系统在程序设计类教学中的应用研究[J].计算机教育,2016(9):157-159.
[4]季晓慧,张玉清.C程序设计教学中的在线评测系统应用[J].电脑知识与技术,2014(7):1465-1466.