论文部分内容阅读
近年来,随着计算机信息技术的高速发展,用计算机模拟人工来辅助评价已经成为当前计算机应用的热点研究问题之一。目前,在现有的计算机考试系统中,选择题和填空题等客观题评测问题已被解决,并已实现了由计算机自动评阅。但程序语言的主观题判分问题仍处于发展阶段。计算机程序设计课程需要有大量的编程作业作为训练编程能力的基础,这要求教师要及时批阅学生提交的编程作业,并给出客观公正的评价,这给教师带来了大量的评阅负担。实现程序设计题判分自动化,降低教师批改作业的数量,提高学生实际动手编程的能力,在实际应用中具有重要意义。本文在研究了大量文献资料,并且对现有的程序设计自动测评系统进行了调查的前提下,并结合我校学生自身学习能力的实际情况,进行了Open edX程序设计题判分系统的设计与实现,并在自动判分系统中加入学生互评模块,用来解决无法用自动判分系统测评的作业问题。系统对能够通过编译并能生成可执行文件的程序采用动态测评技术进行评阅,对于编译报错,或者不能生成可执行文件的程序,将学生源代码提交到静态判分模块进行测评。对于像具有图像、声音、动画效果的程序作业,可用学生互评子系统进行判分。在学生互评子系统中,学生上传自己的作业,并在互评时评阅系统分发的作业,公平公正的评阅其他学生的程序作业。待互评结束后,系统对每位同学的作业分数采用去掉最高分和最低分,再求平均分的策略进行给分。同时,为了公平公正,如果没有按时批改他人作业,系统会自动在其作业分数中减去10分作为惩罚。系统采用B/S体系结构,django框架,后台数据库管理使用MySql,开发语言使用Python。系统具有界面美观大方、操作简单方便、工作效率高校、数据安全可靠。通过对程序自动判分系统进行试验与分析,表明本研究中使用的方法能够对学生源程序进行自动判分,设计和开发的程序自动判分系统具有一定的使用价值。