2013年 1O月 机械设计与制造工程 0ct.2013
第42卷 第 lO期 MachineDesignandManufacturingEngineering Vo1.42NO.1O
DOI:10.3969/j.issn.2095—509X.2013.10.016
C语言教学中上机考试及 自动评分系统研究与开发
段敬利 ,张春飞,魏久鸿
(吉林大学 农学部公共教学中心,吉林 长春 130062)
摘要:根据当前C语言考试系统中程序设计题在评分方法方面存在的不足,主要是缺乏公平性和
准确性,给出了结果对比、修复编译和代码对比相结合的新方法,实验结果证实了改进方法的有
效性和高效性。
关键词:C语言;考试系统;自动评分;修复编译;代码对比
中图分类号:TP311.1I 文献标识码 :A 文章编号:2095—509X(2013)10—0065—03
C语言是大学教育的必修课程之一。目前很
多C语言教学中的上机练习系统和上机考试系统
一 般都包括填空、改错和程序设计 3部分。填空和
改错这样 的客观题 目的 自动评分技术 比较成
熟…,但是对于主观题的阅卷技术却一直停滞难
前L2J。目前主要采用的是结果对 比评分法,即依
据程序运行结果和标准答案对比给出相应分数,结 图 1 功能模块 图
果正确得满分,不正确得零分。这种方法衡量的只
是一个输出文件或者输出结果,完全忽略了考生的
源代码 ,显然有失公允,不能反映学生的真实水平。 ,
而且现有的考试系统多为单机版和基于C/S模式
的,存在时间和空间受限的缺点。 图2 在线考试过程
针对上述问题,本文研究了一套基于Web的
C语言教学中上机考试及 自动评分系统采用
C语言考试及 自动评分系统,该评分系统充分考虑
微软的 SQLServer作为系统数据库,在 Windows
学生的源代码,在结果对比评分的基础上,给出了
XP操作系统、IIs服务器和Asp.net环境下设计动
修复编译、代码对比相结合的评分方法。
态网页,实现考试系统。自动评分系统,则在 Visu.
alc++.net环境下实现。
1 开发平台和系统结构
C语言教学中上机考试及评分系统主要包含 2 评分系统的设计与实现
3部分:考试系统、试卷管理系统和评分系统,如图 2.1 评分系统评 阅流程
1所示 。考试系统采用基于Web的 B/S模式 ,只 评分系统的主观题采用结果对比、修复编译与
有服务器端,客户端为Web浏览器 。服务器其实 代码对比相结合的评分方法。结果对比是检查考
是一个网站,管理员也可通过 Web浏览器对数据 生程序的运行结果是否与标准答案的运行结果一
库进行维护。而学生也是通过浏览器进行登录、试 致。修复编译是修改源文件中的语法错误,使程序
题抽取和提交考试结果。本系统学生提交的不是 生成EXE文件,再进行结果对比评分。代码对比
文件,而是以表单的形式把学生的答案提交到数据 评分是将规范化处理后的学生程序与标准答案知
库对应的字段,评分系统提取学生答案,再组成 c 识要点进行相似度计算,得到各知识点分值,再累
文件进行评分,考生在线考试过程如图2所示。 计得到总分,它类似于教师在评阅主观题时的思维
收稿 日期:2013—04—