基于抽象语法树的C编程题自动评分方法研究及应用

来源 :西安理工大学 | 被引量 : 0次 | 上传用户:edu009
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着计算机技术的飞速发展,互联网+教育深刻地影响着教育教学方式和课程考试方式。编程题的自动评分是程序设计类课程在线考试中的一个重大需求,实现编程题的在线实际测试是程序设计语言课程考试的最有效形式。由于程序设计题主观因素强、解决方式多、评分标准不完善,因此,如何实现高效合理的编程题自动评分,一直是程序设计类课程在线考试领域研究的难点和热点问题。基于对编程题评测特点的研究,本文依据人工评分思想,设计了一个改进的动静结合评分模型。该模型的动态评分部分依赖于POJ(Peking Online Judge)内核实现,静态评分部分基于抽象语法树实现。改进的动静结合评分模型依据学生程序编译是否通过,分别对学生程序应用不同的评分规则,同时加入了程序是否满足要求的知识点评测。对编译通过的学生程序同时进行动态评分和基于抽象语法树的静态评分。对于编译未通过的学生程序,先按照预先设置的评分规则扣除语法分,之后只进行基于抽象语法树的静态评分。研究并实现了基于抽象语法树的C编程题静态分析方法,该方法首先借助GCC编译命令生成抽象语法树(Abstract Syntax Tree,AST),并依据本文给出的抽象语法树预处理原理及算法实现对生成的抽象语法树进行解析和标准化,采用树编辑距离(Tree Levenshtein)算法计算学生程序抽象语法树与模板程序抽象语法树之间的最小编辑距离,并依据相似度计算公式得出两者之间的相似度。取学生程序抽象语法树和模板程序库中模板程序抽象语法树的最大相似度作为学生程序与模板库程序的相似度,最后依据预先设定的评分规则计算学生程序的静态得分。针对本文设计的动静结合评分模型,以本校2018-2019第一学年的C语言考试数据为数据源,选取42个代表性的学生程序进行实验分析,实验结果表明本文的评分方案较本校现有系统的评分方案更贴近人工评分,且准确率平均可以达到80%,具有很高的可用性。本文以基于抽象语法树的C编程题静态分析方法为核心,借助改进的动静结合评分模型,设计并实现了C语言在线考试系统。该系统减轻了教师评阅试卷的负担且保证了对学生程序评判公平合理。
其他文献
整体柱是一种将功能单体、交联剂以及致孔剂,通过光或热引发,原位聚合制备连续柱体的新技术。整体柱具有柱压低、传质快、效率高、制备简单及易于改性等特点。β-环糊精分子
以教育为目的,娱乐为手段的娱乐教育,已成为传达思想理念、实现社会教化的重要途径。它既可弥补传统教育的不足,亦不容易产生受众的反辩。本研究一方面以美国生态保育电影《
地理类课程具备完整清晰的内容逻辑和尺度逻辑。通过多层次多类型的地理类课程内容整合,辅以嵌入补充型和在线交流型的教学实践尝试,可以弥补当前工科城乡规划专业毕业生"长
学习规则的改进,是新课程实施至关重要的一环。教师要适应新课程的教学策略,找到“提高组织教学和引导学生学习的质量”的方法,为学生创设良好的自主学习情境,帮助他们树立主体意
阳台园艺是无土立体高效的栽培,是未来城市绿化和家庭绿化的发展方向。阳台园艺的应用提高城市绿化面积,增加建筑空间的利用有重要意义。
本文主要研究不同的光敏剂添加到聚乙烯薄膜中,对薄膜的光降解性能的影响以及进一步的生物降解的性能,最终获得高效的光敏剂以及生物菌种。首先合成出硬脂酸铁FeSt3和二丁基
文章研究了基于AR技术开发旅游文创纪念品。当下的旅游纪念品不能够满足人们的需求,一时激动买下的纪念品被长期搁置,造成了资源和产品的浪费。面对纪念品各个环节中出现的问
葛滨:《美国发展再认识》——美国在人类文明史上既是最年轻的大国,又是现代化历史最悠久的国家,几乎所有与现代文明相关的技术、产业乃至文化都是在美国起源或大规模应用的
目的研究对胃溃疡患者采取铝碳酸镁+奥美拉唑的方案进行治疗后的价值。方法选取本社区胃溃疡患者,例数合计为200例,选取时间范围是2016年05月01日至2017年05月01日,将其依据
媒人是历史发展中的特殊民俗现象,也是一种特定的文化符号。媒人随一夫一妻制的聘娶婚的出现而出现,在防止男女乱性、保障婚姻安全、完善规范礼法等方面起着积极的历史作用。