面向实践教学的作业查重系统
潘理虎,张 雷,解 丹,陈立潮,赵淑芳
【摘 要】随着高等教育从知识传授到能力培养的转型,实践教学成为大学教师普遍重视的人才培养环节。实践教学的主要难点在于教学过程的管控和形成性考核的质量。作业查重系统是降低教师负担,提高过程监控质量的有效工具。研发了一种便捷、低成本且无须数据库的作业查重系统,采用k-gram字符串匹配算法,逐字符的对比作业文档之间的字符串,当文档间相同的字符串长度达到阈值时,则计入重复度中。在软件工程课程的教学实践中的应用结果表明,教师可结合系统查重结果,对教学情况进行分析,从而实现差异化作业质量监控,提高课程质量、促进学风建设。 【期刊名称】《软件工程》 【年(卷),期】2024(022)005 【总页数】4
【关键词】作业查重系统;实践教学;人机结合;学风建设
基金项目:山西省特色优势专业建设项目2024-15,山西省教研项目J2017078,教育部产学协同项目202401128011,全国高等学校计算机教育研究会2024年度课题CERACU2024R02,太原科技大学教学改革创新项目202437.
1 引言(Introduction)
互联网的快速发展使得信息共享的途径增多,但电子资料的易复制性和易篡改性,也使得抄袭现象频有发生[1]。现阶段,大部分高校仍以人工审查作业为主要方式,这种方式虽然可以充分发挥教师丰富的经验优势,但对公平公正的评
估学生作业仍具有很强的不确定性,且不能做到量化分析。近年来,论文查重已经成为高校中强化学术规范的重要举措,大部分学校都已购买了论文查重的新服务,但却很少有学校进行作业查重[2]。2024年9月清华发布《关于提供作业查重服务的通知》[3],标志着清华将采用中国知网检测系统进行作业查重。考虑到使用知网检测系统进行作业查重不具有针对性,且耗费较高,于是在软件工程课程的实际教学过程中,开发了一种简便的查重系统,既可针对软件工程课程所提交的作业进行有针对的查重,又可节省教师在日常审查作业中所耗费的大量时间以提高教师的教学效率和质量。
2 作业中存在的问题(Problems in the assignment)
软件工程课程是计算机及相关专业中的一门重要课程,对于培养新工科人才具有重要意义[4]。在软件工程教学过程中,实践教学占据着重要的一部分,要充分发挥学生对该课程的主观能动性,就需要布置一些作业,以促进学生自我学习,自我思考。目前,软件工程课程的平时作业中存在数量多、难存档、难细评等问题[5]。一方面,学生们的作业大多以纸质版保存,不易长期存档,且学生们的作业存在相互抄袭现象,更有甚者,不进行思考,也不进行资料查找,直接将同学的作业进行复制粘贴,或改成自己的文件名便提交给教师。长期维持这种情况,不利于培养学生正确的学术规范,以至于在毕业的时候,习惯抄袭,最终导致难以毕业。另一方面,一个教师往往教授多门课程或多个班级,在一对多的状态下,学生提交的作业数量便成倍增长、增加了教师的工作量。当工作量很大时,教师便很难对学生的作业一一细评,尤其是难以对原创作业给予合理、公正的分数。
为解决上述问题,在软件工程实际教学中,开发了作业查重系统。该系统充分
利用了现有的教学资源,可以大幅降低教学成本,在教师教学经费不充裕的情况下能够大范围的应用。
3 总体方案(Overall scheme)
软件工程课程中的作业有许多形式,如课后题、案例分析等。由于软件工程的实践性较强,大多数院校在本课程中都有项目实验的实践环节,而该实践环节的成果一般包括项目的程序代码和项目的实验报告。本系统以项目实验报告为例,对整个查重系统的流程进行介绍。具体的查重流程如图1所示,包括作业收集、作业预处理、作业查重、教师审查和结果分析。 3.1 作业收集
软件工程课程实际教学中,为发挥学生的团队协作能力和培养学生的沟通交流能力,将所教授的16级计算机科学与技术专业的两个班级分组进行项目实践。由于两个班级均有41名同学,因而将每个班级的学生分为七个五人组和一个六人组。学生以小组进行实践,每个人均要提交一份实验报告。这样可以避免同组中一些能力弱的同学在项目实践过程中,不参与或很少参与项目实践,仅依赖能力强的同学进行项目开发和文档书写,但最终却能够凭借他人努力的成果通过课程考核。
传统的作业收集方式是由班长或学习委员将作业收齐,之后再统一提交给教师。这种收集作业的方式便于管理且省时省力。故本课程仍然采用这种收集作业的方式,但是为了避免因处理不同格式的文件而增加系统的复杂性,也为了便于教师对作业的审查,故要求每人的作业以统一的格式进行命名。实验报告的命名统一为“学号姓名”,且文档的后缀名统一为.docx,如“20160103张三.docx”。所有的学生将自己电子版的实验报告提交给学习委员后,学习委员