刘月霞,牛志尧,吴宁
(西安交通大学电子与信息工程学院,710049,西安)
面向大规模在线开放课程的编程题多特征综合自动评分方法
刘月霞,牛志尧,吴宁
(西安交通大学电子与信息工程学院,710049,西安)
针对大规模在线开放课程环境下C/C++语言学习者人数众多、自动评阅准确率低的问题,提出一种基于多特征综合分析的编程题自动评分方法。通过对源程序编译预处理剔除提示性信息,用词法分析和抽象语法树(AST)分别抽取学生程序和标准模板程序的多种特征并计算特征相似度,再根据程序编译是否通过,采用不同策略综合分析多种特征相似度进行自动评分。特征相似度包括多项测试用例运行结果的相似度、AST抽取的各项特征的相似度和源程序代码相似度。如果学生程序编译失败,在计算AST特征相似度的同时需进行源程序代码相似度分析。实验结果表明:相对于仅基于测试用例运行结果的动态测试方法和传统静态分析方法,所提方法的平均准确率分别提高了18.48%和14.17%,评价结果与人工评分高度相关且无需借助人工辅助分析。该方法适用于大规模在线开放课程教学。
大规模在线开放课程;自动评阅;多特征分析;抽象语法树;相似度计算
自2012年起,大规模在线开放课程(massive open online courses,MOOC)开始在全球兴起。对计算机程序设计类MOOC,编程练习是重要的环节。由于MOOC环境下的学习者人数众多,依靠教师人工评阅编程作业不现实。目前,MOOC平台对编程题的评判大多采用学生互评方式,部分平台通过将学生作业的运行结果与给定答案进行比对的方式评分,以上评分方式并不适合对学生作业和考试程序的评分,难以满足教学需求[1-2]。……