C语言源代码自动评分算法研究

来源 :湘潭大学 | 被引量 : 0次 | 上传用户:zhouli1017
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着计算机网络技术和智慧教育在教育测量和学习评价过程中的应用,计算机程序设计课程无纸化考试已经成为现代化教育的趋势。目前,程序客观题自动评分技术已经非常成熟,而程序设计题虽然有标准化结果,但由于表达方式的多样性,其自动评分一直是该研究领域难点。C语言程序设计课程是全国高等院校计算机及相关理工科专业中也是一门必修课程。本文根据教学和考试中对C语言程序题评分的实际情况,提出的C语言源代码自动评分方法,主要包括三部分研究内容:针对已有的程序中间表达形式不能较好地代表程序信息的问题,提出了基于流程控制图(Flow Control Graph,FCG)匹配的自动评分方法。根据C的程序语言特点,在详细分析C源代码语法、语义、内容结构的基础上,将预处理标准化后的源代码转换为更能体现学生实现编程任务过程的FCG。并以流程控制元为基本单位,计算学生程序与标准答案模板程序的FCG的匹配相似度给出程序评分类别。实验结果表明了 FCG表示程序的准确性以及评分的良好效果。FCG算法虽比传统静态评分技术有一定的优势,但其评分的准确性在很大程度上依赖标准答案模板的数量。针对教师提供的答案模板数量有限给评分带来的困难,本文提出了一种基于FC-KNN的自动评分算法。在FCG的基础上,提取流程控制元作为程序源码基本特征,将含标记(已评分)的学生程序作为训练样本转换成特征向量,表示在向量空间模型中;然后使用k近邻算法根据提取的特征对待评分程序进行分类,其归入的等级类别即为该程序的评分。初步的实验结果证实了 FC-KNN评分算法与依靠少量有限答案模板的FCG评分算法相比,准确性更高。FC-KNN自动评分算法结合了机器学习中的k近邻算法,前提是需要具备充足的含标记训练样本,而实际教学中,积累如此数量的含标记样本需要大量的时间与人力评分。针对FC-KNN需要充足训练样本的问题,提出了一种集成分类评分模型,将FCG与FC-KNN两种分类模型按照一定的策略进行组合,各取所长,将初级分类器FCG的输出结果作为次级分类器FC-KNN的输入样例,并设计了数学模型解决随着样本的增加,可能造成的类间样本不均衡的问题。最后,通过实验证实了集成后的分类评分模型,在样本积累各个阶段,均能达到较为理想的评分准确性。
其他文献
会议
李娟的散文构筑了一个新疆的原生态边远世界。李娟的作品从《九篇雪》到《阿勒泰的角落》再到《我的阿勒泰》,给我们带来的就是阿勒泰意象的塑造。她从自己的点滴生活中写活
【正】 一无论学习语言或是讲语言的人(包括母语),都会出现语言偏误现象。在以英语为外语的教学研究中,错误分析越来越受到重视。这里有必要将错误与偏误区分开。偏误(error)
随着人民生活水平的提高,富含营养的乳制品逐渐被大众喜爱,乳业也相应地快速发展了起来。乳制品富含水分和蛋白质,容易滋生微生物。为了保证乳制品的质量和抑制微生物的生长
仿生自然界生物体某一功能构筑新型材料已成为当今社会研究热点和重点,已渗透至自然科学和工程技术的方方面面。竹材作为一种速生、可再生的最有可能替代木材的材料之一,具有
<正>国外的小学不以读、写、算为目的,而是教学生怎样处理人际关系,要与人为善,要有礼貌,要遵守公共秩序,对知识有好奇心。我国教育的目的比较普遍的认识是培养人才。为社会
目标跟踪是雷达系统中的关键问题,一直受到国内外学者的关注,主要因为雷达的跟踪不管在军用领域还是民用领域都有着广泛的应用,例如导弹跟踪、船舶安全航行等。随着信息技术
目的 对比人工韧带重建喙锁韧带与锁骨钩钢板治疗肩锁关节脱位的效果.方法 选取2016年1月—2017年5月我科46例TosayⅢ型肩锁关节脱位患者,以随机抽签分类法将所有患者分为参
近年来,在国际信息服务行业中,计算机系统集成属于迅猛发展的行业之一,是一项极具创造性的项目,被广泛应用到社会各个领域中,扮演着关键性角色。因此,本文作者客观地分析了计
目的:采用代谢组学方法考察罗布麻叶对正常大鼠尿液内源性物质代谢的影响。方法:罗布麻叶用10倍量70%乙醇回流提取,将大鼠分为空白对照组、罗布麻叶高剂量组及低剂量3组,连续