程序设计类课程作业抄袭问题的探索与实践
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
167
数据库技术
Database Technology
电子技术与软件工程
Electronic Technology & Software Engineering
1 引言
抄袭作业在大学中是很普遍的现象,特别是计算机程序类的课程,学生拷贝程序代码提交作业或实验是很容易的,可是检测有难度,如果不加以有效识别和制止,对学生的学习效果和老师的工作量都有不利影响,也会助长同学们不诚信的不良风气。
一些专家和学者提出了一些检测算法。
本文主要通过诚信调查,根据诚信调查数据和上机以及考试数据,利用决策树分类算法,来推测学生提交的完成度数据的真实性,也通过这样的方式,一是大致确定每位学生实验的完成度,二是树立同学们诚信意识,三是因为提前跟同学们说明会做数据分析,让同学们畏于数据的压力呈现真实的状态。
这样,让同学们勇于诚信,乐于诚信,也让老师比较真实地了解同学们实验的真实情况,教与学就会形成良性循环。
2 相关工作
关于检测程序作业抄袭的相关研究,存在一些检查程序抄袭的软件,国外有JPlag [1]、Plague 、YAP3等,国内的学者也提出一些方法,如张海腾[2]开发了一个作业相似性检测系统,实现了对作业文档的对比和检测,赖晓晨[3]提出了一种基于XML 的源程序型作业自动抄袭检测方法。
傅得强[4]提出两种基于抽象语法树的源代码抄袭检测方法等。
这些研究大多是通过直接检测相似性的算法。
本文以另一个角度,根据诚信调查数据(调查的内容是实验完成度)以及考试数据,利用决策树分类算法,推测实验完成度与考试成绩的吻合程度,以此推测学生实验完成度与考试成绩的真实性,这给解决程序设计类课程作业抄袭问题另辟了一个思路,也为学生诚信度检验另辟了一条路径。
3 前期工作
以笔者讲授的《数据结构与算法》课程为例,整个课程一共有13个实验,笔者主要基于两个考试(一次是期中上机考试,一次是期末笔试考试),邀请同学们进行了每个实验诚信调查,根据这三份数据进行分析。
具体前期工作及数据收集包括两个部分:一是期中考试的选题及成绩,二是对每个实验的完成度调查。
如下:
(1)其中,期中的上机考试,考虑到某一学期大部分同学的实际情况(编程基础比较弱),考试内容选择之一是学生在提前给定的10道题目中抽题(这10道就是实验3-7中的内容,因为考虑
程序设计类课程作业抄袭问题的探索与实践
连惠群
(福建警察学院 福建省福州市 350007)
摘 要:本文从另一思路,根据诚信调查数据和上机以及考试数据,构建Spark 环境,利用决策树分类算法,来推测学生提交的完成
度数据的真实性(即学生的作业或实验报告是否抄袭)和学生考试结果的真实性,以解决程序设计类课程作业抄袭问题,也间接检验了学
生们的诚信度,以求教与学形成良性循环,培养出品学兼优的学生。
关键词:
程序设计;决策树分类算法;Spark 环境
图3:完成度调查界面图2:选题情况图1:期中抽题
168
数据库技术
Database Technology
电子技术与软件工程
Electronic Technology & Software Engineering
到学生基础比较弱,可选择进行两轮考试),如图1所示。
系统数据库会记录学生抽题范围及抽到题情况,图2是学生们第一次选择情况的部分截图。
我们把这部分数据以及得分与实验完成度调查进行对照,可以发现期中考试可能存在的不诚信现象或实验完成度虚假情况。
(2)在学期中,邀请同学们进行完成度填写,如图3所示,数据库截图如图4所示。
接着我们提取图4中的每个实验的完成度,以便进行后续的分析。
4 具体实现4.1 数据准备
根据第3点的前期工作,以及半期考和期末考试的成绩(完成
度除以10),整合数据如图5所示,我们利用决策树分类算法,把某个实验的完成度和期中成绩为第一组(看该生具体抽到的是哪道题),实验1-13的完成度和期末成绩为第二组,其中期末和期中成绩分为四个等级,小于60为标签1,大于等于60且小于70为标签2,大于等于70且小于80为标签3,大于等于80为标签4。
以第二组数据为例,处理后的数据部分截图如图6所示。
4.2 环境搭建
本环境基于Spark 环境,1台Master ,2台Slave 。
配置后的环境截图如图7所示。
4.3 算法分析
决策树多元分类算法(DecisionTree Multi Class Classfication )预测在多个特征条件不同组合下的准确率。
以第2组数据为例,我们把每个实验的完成度值作为特征feature ,成绩等级作为标签
Label 。
部分代码及结果如图8所示。
预测值和真实值相差两个等级的,就要引起重视。
如果预测值比真实值高比较多,则该学生的实验完成度的真实性需考量,如果真实值比预测值高很多,则学生的期中或期末考试可能存在不真实的行为,也需要考量。
如图红色区域的记录要引起注意,需要再观察其他方面的表现。
5 结语
本文主要通过诚信调查,根据诚信调查数据和上机以及考试数据,利用决策树多元分类算法,来推测学生提交的完成度数据的真实性和学生考试结果的真实性。
本文搭建了
Spark 环境,根据分类算法得出的预测结果,如果与真实结果相差较大,则需引起重视,可能是学生实验完成度不真实(也就是实验可能存在抄袭),也可能是学生考试结果不真实,这为解决程序设计类课程作业抄袭问题
图4:完成度调查结果
图5:原始部分数据
169
数据库技术
Database Technology
电子技术与软件工程
Electronic Technology & Software Engineering
另辟了一个思路,也为学生诚信度检验另辟了一条路径。
由于时间关系,本文没有对细节进行进一步的研究,这将是下一步的工作。
参考文献
[1]SvajlenkoJ,Roy C K.
Evaluating Modern
Clone Detection
图6:处理后的部分数据
图7:环境搭建截图
图8:运行结果
Tools[C]. International Conference on Software Maintenance,2014:321-330.
[2]张海腾,翟洁,冷春霞.电子作业相似性检测技术的研究与实
现[J].电子设计工程,2017,(10):43-49.
[3]赖晓晨,王孝良,迟宗正,陈晟浩.高校源程序型作业自动抄
袭检测方法研究与实践[J].教育现代化,2017,4(37):205-206.[4]傅得强.基于抽象语法树的源代码抄袭检测研究[D].北京:
北京林业大学,2017.
作者简介
连惠群(1982-),女,福建省福州市人。
硕士研究生,现为福建警察学院讲师。
主要研究方向为数据库及数据分析。
主持2019
年福建省中青年教师教育科研项目《数据挖掘技术用于大学生行为分析的研究》(项目编号:JAT190442),在研;主持《数据库原理及安全技术》课程思政教学改革与实践(批准编号:JGKCSZ202010),在研;主持2020年院级教育教学改革研究项目《项
目驱动的数据库课程教改与实践》(项目号:JG202016),在研。