面向大规模在线开放课程的编程题多特征综合自动评分方法

2016-12-22 06:34:57刘月霞牛志尧吴宁
西安交通大学学报 2016年10期
关键词:程序特征方法

刘月霞,牛志尧,吴宁

(西安交通大学电子与信息工程学院,710049,西安)



面向大规模在线开放课程的编程题多特征综合自动评分方法

刘月霞,牛志尧,吴宁

(西安交通大学电子与信息工程学院,710049,西安)

针对大规模在线开放课程环境下C/C++语言学习者人数众多、自动评阅准确率低的问题,提出一种基于多特征综合分析的编程题自动评分方法。通过对源程序编译预处理剔除提示性信息,用词法分析和抽象语法树(AST)分别抽取学生程序和标准模板程序的多种特征并计算特征相似度,再根据程序编译是否通过,采用不同策略综合分析多种特征相似度进行自动评分。特征相似度包括多项测试用例运行结果的相似度、AST抽取的各项特征的相似度和源程序代码相似度。如果学生程序编译失败,在计算AST特征相似度的同时需进行源程序代码相似度分析。实验结果表明:相对于仅基于测试用例运行结果的动态测试方法和传统静态分析方法,所提方法的平均准确率分别提高了18.48%和14.17%,评价结果与人工评分高度相关且无需借助人工辅助分析。该方法适用于大规模在线开放课程教学。

大规模在线开放课程;自动评阅;多特征分析;抽象语法树;相似度计算

自2012年起,大规模在线开放课程(massive open online courses,MOOC)开始在全球兴起。对计算机程序设计类MOOC,编程练习是重要的环节。由于MOOC环境下的学习者人数众多,依靠教师人工评阅编程作业不现实。目前,MOOC平台对编程题的评判大多采用学生互评方式,部分平台通过将学生作业的运行结果与给定答案进行比对的方式评分,以上评分方式并不适合对学生作业和考试程序的评分,难以满足教学需求[1-2]。……

登录APP查看全文

猜你喜欢
程序特征方法
如何表达“特征”
不忠诚的四个特征
当代陕西(2019年10期)2019-06-03 10:12:04
试论我国未决羁押程序的立法完善
人大建设(2019年12期)2019-05-21 02:55:44
“程序猿”的生活什么样
英国与欧盟正式启动“离婚”程序程序
环球时报(2017-03-30)2017-03-30 06:44:45
用对方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
创卫暗访程序有待改进
中国卫生(2015年3期)2015-11-19 02:53:32
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
捕鱼
线性代数的应用特征
河南科技(2014年23期)2014-02-27 14:19:15