面向大规模在线开放课程的编程题多特征综合自动评分方法
An Automatic Scoring Method of Student Programs Using Multi-Feature Analysis for Massive Open Online Courses作者机构:西安交通大学电子与信息工程学院
出 版 物:《西安交通大学学报》 (Journal of Xi'an Jiaotong University)
年 卷 期:2016年第50卷第10期
页 面:64-70页
核心收录:
学科分类:0810[工学-信息与通信工程] 08[工学] 0805[工学-材料科学与工程(可授工学、理学学位)] 0835[工学-软件工程] 0812[工学-计算机科学与技术(可授工学、理学学位)] 081202[工学-计算机软件与理论]
基 金:陕西省科技研究发展计划资助项目(2013K06-05)
主 题:大规模在线开放课程 自动评阅 多特征分析 抽象语法树 相似度计算
摘 要:针对大规模在线开放课程环境下C/C++语言学习者人数众多、自动评阅准确率低的问题,提出一种基于多特征综合分析的编程题自动评分方法。通过对源程序编译预处理剔除提示性信息,用词法分析和抽象语法树(AST)分别抽取学生程序和标准模板程序的多种特征并计算特征相似度,再根据程序编译是否通过,采用不同策略综合分析多种特征相似度进行自动评分。特征相似度包括多项测试用例运行结果的相似度、AST抽取的各项特征的相似度和源程序代码相似度。如果学生程序编译失败,在计算AST特征相似度的同时需进行源程序代码相似度分析。实验结果表明:相对于仅基于测试用例运行结果的动态测试方法和传统静态分析方法,所提方法的平均准确率分别提高了18.48%和14.17%,评价结果与人工评分高度相关且无需借助人工辅助分析。该方法适用于大规模在线开放课程教学。