关键词:
C语言
在线考试
程序理解
编译原理
程序设计
自动阅卷
摘要:
随着我国信息化建设的推进,计算机应用能力的培训得到了迅猛的发展,开设了C语言程序设计相关课程的学校和培训机构越来越多,同时C语言课程的计算机在线考试也成为了一个热门的研究课题。在线考试是网络教学系统功能之一,它涉及到多项关键技术,如大规模题库的建立与维护、自动组卷、大规模的并发访问、自动阅卷等。其中,自动阅卷技术能够在快速准确得到评分结果的同时节省大量的人工劳动时间。\n 目前自动阅卷己经能很好地完成对常见客观试题的自动批阅工作,但是对于一些主观性很强的问题,尤其是程序设计题型,还没有很好的解决方案。本课题就是在这样的背景下提出的,目的是实现C语言课程的完全无纸化考试,减少阅卷工作量,提高评阅过程的公正性和准确性。本文对该系统的指导思想、实现策略以及所用技术等进行了系统的阐述。\n 本课题对考试系统中的自动组卷、试题考试及自动评分系统分别进行了研究设计,重点对程序题的评分方法进行了研究,在比较结果的评分方法基础上,设计了动态评阅与静态评阅相结合的方法,评分结果更加公正、准确。对于只有少量错误的考生程序,应用编译原理中的分析方法,通过动态找错及改错,使其在系统监控下运行,从而可根据结果信息及错误信息进行评分,解决了多数考生因编程中的很小失误而导致大量丢分的问题。而对于错误严重或结果不正确的程序,通过静态检查,可根据程序中的关键语句数给出相应分数,使评分结果更加接近于人工阅卷。同时为了保证系统不被恶意代码所攻击,所有编译成功的可执行文件均在沙箱环境下运行。\n 系统设计成功后,初步实验结果证明自动评分模块运行稳定,评分标准能够统一。