Acm 在线评测系统在成人高等教育程序设计类课程中的应用初探
2010-01-01张伟龙孟玉琴
张伟龙 孟玉琴
(1、浙江工业大学 信息工程学院,浙江 杭州 310032 2、浙江工业大学 成人教育学院,浙江 杭州310032)
1 前言
成人高等教育是我国高等教育的重要组成部分,是构建终身教育学习型社会和提高全民教育素质的重要途径。近年来,成人高等教育规模平稳发展,社会的发展对成人高等教育培养的目标也不断提高,社会的需求也对成人高等教育的质量提出了更高的要求。程序设计类课程在诸多专业教学计划中是不可或缺的必修基础课,也是部分专业课的先修课,该课程的学习效果或多或少影响到后继课程的学习,尤其是计算机相关专业,更是关系到毕业设计能否顺利完成。
事实上,目前成人高校包括普通高校对程序设计类课程的教学效果总是差强人意,两极分化严重,学得好的不在少数,学得差的也很多。导致的后果是后继课程的老师总是要先补程序设计类课程相关知识,更有甚者在毕业设计阶段导师对所带学生进行补课。成人高等教育对象的特点是:成人、在职、业余。学习形式为利用业余时间以自学为主,一般为在职职工,特别是函授学员,分散在多个地区的多个部门[1]。当然,程序设计类上课老师没有考虑到成人学生在年龄、知识水平、心理素质、生活阅历、学习能力等方面的差异因素,仍然按照普通学生的教学模式上课,只是把要求降低,教学效果自然还要打折。
从实际情况来看,由于成人学生面授时间短、自学能力弱、缺乏监督、应用性不够等在一定程度上挫伤了成人学习的积极性和学习热情,从而导致了在成人高等教育的教学过程中产生了各种问题。如何根据成人学生的特点,结合计算机技术和应用的发展,设计科学合理的教学方法,是成人高等教育提高教学质量的重要课题。
2 Acm 在线测评系统简介
Acm 国际大学生程序设计竞赛是世界公认的规模最大、水平最高的国际大学生程序设计竞赛,旨在使大学生运用计算机来充分展示自己分析问题和解决问题的能力[2]。Acm 在线评测系统能对学生用网页浏览器提交到服务器的竞赛习题的程序源代码进行在线编译,生成可执行文件,并从数据库中调用测试数据,从程序运行的正确性、耗时、耗费内存及返回结果等各方面评测代码,并精确返回各方面的评测结果。她是一个基于B/S 结构的在线程序与算法设计练习、竞赛平台,主要功能可分为用户管理、题库管理、在线提交、在线比赛及在线排名、在线讨论等。[3]
目前,比较有名的且成熟的评测系统有北大Acm 和浙大Acm 等,笔者使用开源的Acm 评测系统经过扩展使用官方的、公开的软件设计中常用的、经典的编译器,使评测系统支持 C#、VB.NET、C/C++等语言,C++编译器版本多样可分为VC++8.0、G++等。评测系统的核心主要是题库的管理,教师可进入后台发布一组竞赛试题、实验题或上机考试题,设定考试总时间、试题分值、限定内存空间和运行时间及指定格式的测试输入输出数据即可。学生参加竞赛或上机考试时,只允许携带纸质资料进入机房,在给定的预备时间内进入Acm 在线评测系统中进行注册并做题,每提交一次系统即给出判定正确或者错误,若是错的,则每提交一次考试总时间将减少一定的时间或者实验分值扣除一定的分值。如果是竞赛,以程序运行的最少耗时、最少耗内、最少提交次数等来判定名次,学生在提交之后即可知晓自己的成绩。平时学生也可以进入Acm 评测系统进行练习,任课教师负责在题库中不断更新题目。
3 Acm 在线测评系统在成人学生设计类课程中的应用
Acm 在线评测系统设计的初衷是为参加Acm 国际竞赛而准备的,实际上我们利用开源的Acm 可以很容易地更改为适合如成人教育的程序设计类课程的实验、竞赛或者考试系统。笔者以C++程序设计为例,针对成人学生的自身特点,设计的题目要不泛有趣、实用、难度不可太大,并把试题归类为分为入门级、提高级和高级三个级别,使学生在学习的过程中做到循序渐近、学中有乐,基础好的学生可直接做提高级的题目,水平特别好的可直接做高级题。同样在上机考试题中也把题目分为三个级别,入门级题目分值小,提高级题和高级题相应的分值比较高,喜欢挑战自己的可以选择难度系数大的题目来做。
通过以上题目分级分类,不仅实现了学生选题的“各取所需”,也避免了传统实验题目相同易产生实验报告雷同、考试抄袭等现象的发生,另外还大大激发了学生自身的学习兴趣,尤其是有一部分因工作需要而回校恶补程序设计基本功的专升本成人学生,经过这样的训练,即要考虑程序运行的正确性,同时也要对比程序运行的性能,对题目的多种算法实现有了独特的思考与分析。
经过两届学生不同专业成人学生使用来看,不仅补考人数明显减少,而且后继课程的平均成绩也有大幅提高,教学效果提高显著。通过这个系统,学生能更好地将理论与实践紧密结合,动手能力、创造能力和协作能力得到提高,开拓视野,促进创新性人才培养。[4]
4 结束语
吸收Acm 在线评测系统中的诸多优点,注重成人学生的特点,在程序设计类课程中有机结合,能有效促进教学质量、教学水平、教学效果的同步提升。如何更好地发挥Acm在线评测系统的长处,让其他如数据库原理、操作系统、数据结构等课程通过扩展Acm 在线评测系统的功能实现在线实验教学及无纸化上机考试,为远程教育、自学考试实践等不同办学类型的相关课程的教学、考核方法改革应该有更深刻的思考。
[1]简友光.成人高等教育计算机实验教学研究[J].继续教育研究,2009,4:13-14.
[2]吴昊.Acm 程序设计培训教程,中国铁道出版社,2007.
[3]尤枫,史晟辉.Acm 在线评测在编译原理实践教学中的应用探讨 [J].实践教学,2009,20:113-115.
[4]皮德常,吴庆宪.国际大学生程序设计竞赛与创新人才培养 [J].电气电子教学学报,2008,30(3):44-48.