计算思维的本质是抽象和自动化。对于 C 语言程序来说,抽象就是使用程序、函数、函
数调用以及数据类型、常量、变量、数组和链表等元素描述现实生活中的系统、功能、功能调
用以及单个特征或特征组合等,自动化则体现为函数内部的语句在 EIP 寄存器加法操作支持
下顺序自动地执行以及函数之间的调用在内存堆栈区支持下自动地进行跳转。以下是我们分享
的 c 语言毕业论文开题报告,供你参考借鉴。
一、研究背景及研究意义
信息技术的快速发展加速了教育信息化的进程,在线教育系统与测试系统的出现为学生提
供了一个可以提高和检测综合能力的便捷途径。另一方面,C 语言教学在各大高校中都是必修
课程之一,且在计算机相关课程教学中,针对某个理论性的知识点的考察,一般会以客观题的
形式给出。由于答案具有唯一性,通过简单得匹配方式便能识别正确与否从而给出相应成绩。
针对这类客观题的自动评分技术已经相当成熟,因此后续在自动评分方向的研究中主要集中于
主观题的自动评判。在过去几年的积极探索阶段到现有的实际研究成果来看,有关 C 语言知
识的检测中对编程题的考察是必不可少的。虽然检测的形式各不相同 (填写空缺代码块完成完
整程序,按题目要求编写整个程序),但终究是为了考察学生掌握编程技巧及编程思想的程度
。
本课题研究的主要目的是结合编程实现的特征,为一个正在初始运营中的在线测试平台提
供一个能查重与自动评分的功能模块。其中最终评分包括两个部分,一是对每个学生提交的程
序代码文件相互之间进行相似度检测,当相似度超过预定阈值作为抄袭处理,此为查重检测。
二是将学生程序与模板程序匹配检测相似度并由此计算最终得分。
程序语言与自然语言在各自适用领域上有较大差异,其语言虽然都有词法、语法规则等,
但编写程序语言时并没有自然语言那么的灵活,不会出现一词多义,一义多词,他只有固定的
关键字,标识符编写规则,功能实现结构等,所以较于自然语言来说识别起来要容易一些。国
内外对编程题相似度检测及自动评分都有不少的研究,现也有一些系统比较成熟。
目前,各大高校对 C 语言课程考察方式一般还是以传统的纸质化考试为主。
这样的考试方法在人工阅卷的过程中存在着些许的不确定因素,随着教育的普 ,能力测
试之后需要批改的试卷绝不是一个小数目。这单一单调的工作很容易使得批改人员疲惫不堪,
从而阅卷出错率将会被动的提高。利用计算机完成自动阅卷将杜绝这一问题的出现,同时,其
运行速度快能及时的给学生反馈结果也没有人的感官情绪,能公平公正的对待每一份试卷。
对于主观题的自动评分技术还在不断的完善中,由于在主观题的识别所需的技术 :人工智
能、自然语言处理、模式识别等还处于起步阶段。所以主观题自动阅卷技术不能一蹴而就,还
需要不断的实验研究。目前,探索开发出合理试用的主观题自动评分系统是一个技术难题,若
能将开发的系统投入教学或是别的考察里面,将会大大的节省人力物力。
二、国内外研究现状
国外对文本相似度检测的研究早国内,在 20 世纪中期,就有学者提出让计算机同人工阅
卷一般来对主观题如作文进行评阅。至今,经过数多学者的致力研究,出现了许多与教育结合
的应用系统,并已投入使用。在对自然语言的文本分析处理方法的研究同时,随着计算机教育
的普 ,程序代码的检测也在逐渐兴起。
1966 年,Ellis Page 开 发 了 一 个 模 拟 人 工 评 分 的 系 统 Project
EssayGrade (PEG),该系统是总结学生提交文本的特征向量,然后将文本的特征进行量化
,最后根据量化的结果对其文本进行判分。
1967 年,Halstead 提出了用属性计数法计算程序代码之间的相似度,所谓的属性是指
代码的某些度量值,如 :空行的数目,字符量,语句量,控制结构量等,在他的研究基础之上
,1977 年 Otteiistein 设计了检测 FORTRAN 编程语言的代码抄袭检测系统,该系统基于
属性技术的相似度检测技术。基于属性技术求解程序代码之间相似度的系统还有 Faidhi 和
Robinson 的程序抄袭检测系统,以 Grier 设计的 Accuse 程序抄袭检测系统。
单方面只考虑属性计数而忽略程序的结构组成,得出的代码相似度比值准确率较低,在
1996 年,Verco 和 Wise 对 Accuse 程序抄袭检测系统进行了一系列可能性的测试,通过在
源程序中加入不影