程序设计课程中作业抄袭问题的防范

2017-03-01 00:57陈彤兵
计算机教育 2017年2期
关键词:程序设计惩罚作业

陈彤兵

(复旦大学 计算机科学技术学院,上海 201203)

程序设计课程中作业抄袭问题的防范

陈彤兵

(复旦大学 计算机科学技术学院,上海 201203)

针对抄袭作业对教和学两方面造成严重影响的问题,分析学生抄袭作业的原因,提出防范抄袭的方法,并说明这些方法的有效性。

抄袭的原因;判断抄袭的标准;查抄袭;防范抄袭;学习效果

0 引 言

抄袭作业是教学中的一个老问题,在程序设计课程中,以计算机文件形式提交的作业更容易复制,一定程度上加剧了这个问题。如果不能及时发现抄袭,不能有效制止该现象,对学生的学习效果和教师的教学工作都有较大的负面影响。虽然存在一些检查程序抄袭的软件[1],但很少有文献讨论根据抄袭行为的原因进行预防的综合措施。

1 问题分析

在多年的程序设计教学中,笔者发现一直有学生抄袭作业的情况。在期末考试时,经常发现有些学生不能很好地掌握某些知识点,而这些问题在其平时作业中并没有体现出来,仔细比对平时作业,往往能发现抄袭的情况,严重的时候甚至有超过30%的学生抄袭作业。如果对该现象不加制止,将会对学生的学习造成严重影响。首先,对抄袭的学生而言,没有真正学到知识,却养成了抄袭的坏习惯,对将来的学习和工作会产生不良影响;其次,对其他不抄袭的学生会产生不良的示范作用,甚至诱导其他学生也参与抄袭;最后,学生的抄袭行为也影响了教师的教学工作,使教师对教学重点、教学效果等产生误判。

如何制止抄袭?常见的方法有在上课时反复强调不要抄袭,对发现的抄袭行为严加惩罚,以儆效尤,但实际效果往往有限。为了能更好地防范抄袭行为,需要从各方面作进一步改进。首先需要改进的是怎样有效识别抄袭行为。简单依靠人工的排查费时费力,只能发现很少的抄袭行为,能采取的防范措施也很有限,且缺乏针对性。采用软件辅助的方法进行比较全面的作业抄袭检查,从中筛选出可能抄袭的作业,然后人工判断是否是抄袭,这样可以迅速缩小检查的范围,更有效地发现抄袭行为。另外,还要通过各种沟通渠道联系相关学生解释作业相似的原因。

这些学生反馈的结果可以分为4种情况:①不回复;②不承认,说不知道是什么情况;③承认,道歉;④说明参考了相似的来源,例如网上或参考书[23]上的相似题目,略作修改后作为答案提交,导致作业相似。

根据学生的回复,再次分析这些作业,对于最后确认是抄袭的情况,可以归纳出导致抄袭的原因:①本意不想抄袭,但学习有困难,作业量大且时间紧,所以抄袭应付作业;②对学习的内容不感兴趣,不想学;③想学且没有大的学习困难,但偶尔因为较忙,抱着不会被发现的侥幸心理抄袭作业。

2 应对的方法

上述分析说明抄袭作业的学生其实也有实际困难,除了简单的惩罚外,如果能给予他们有效的帮助,也许能更好地防范抄袭行为。

2.1 明确规则

由于学习常常是从模仿开始的,特别在程序设计课程最初的一两次作业,往往以模仿教材中的例子为主,这时大多数学生提交的程序都是相似的。因此,虽然是在学期刚开始就强调不要抄袭,但真正开始抄袭通常在第2周作业以后。

从模仿开始学习,一定程度上模糊了模仿和抄袭的界限。要防范抄袭,首先要明确判断抄袭的标准,把学习中正常的模仿与抄袭区分开来。为此,在教学中强调从主客观两个方面防范抄袭:在主观方面,强调学生要严格要求自己,自觉做到不抄袭,也不为其他同学的抄袭提供方便;在客观方面,明确判断作业抄袭的标准,如果发现两个学生提交的作业在数据结构和算法逻辑上都很相似,就认为很可能是抄袭。如果参考了其他学生的思路甚至源代码,但在数据结构和算法逻辑上有所改进,即使有局部的相似,也不认为是抄袭。按照这个思路,针对程序设计课程的特点,笔者开发了一个简单的检查抄袭程序,主要根据程序之间的字符串匹配程度和程序控制流的相似程度判断抄袭的可能性。这个程序只进行了初步的筛选,最终还是要通过人工根据学习的进度和作业本身的特点较为确切判断是否抄袭。

2.2 增强学习的主动性

考虑到本课程的受众大多是低年级学生,学习任务较为繁重,且刚从中学进入大学,在学习、生活等方面还没有完全适应,因此可以适当减少作业的量,确保中等学习水平的学生每周课后2小时左右能完成当周作业。

其次,增加学习内容的趣味性,例如将音乐、画图、动画甚至简单的游戏融入教学内容中。教学过程中也可以结合一些与学生专业相关的内容,例如对医学专业学生,作业中可以加入与医学相关的内容,如各种健康指数的计算等。

2.3 增加抄袭的难度

针对不同的抄袭来源,应设置抄袭的障碍。尽量设计全新的作业题,即使是传统的作业题,也可以通过修改题目的具体要求,使学生无法在网上、参考书、往届作业中找到答案。即使找到相似的,也需要理解后改写才能达到作业的要求。例如一道常见的传统题目“输入一个10进制整数,要求按相反顺序输出这个数各位上的数字”。考虑到可以在网上和其他习题集中找到这道题的答案,而且有部分学生会采用getchar()函数把输入的整数转换成字符串后倒序输出,不符合题目要求。因此,将题目改为“输入2个10进制整数,求和,并按相反顺序输出该和各位上的数字”。虽然这是一个简单的修改,但对程序设计的初学者来说,就算找到了原题的答案,也需要一番理解和修改才能符合题目要求。

最后,要反复强调在学生之间的互相帮助是受鼓励的,但要求限制在程序的思路层面,或者调试方法层面,而不是在源代码层面,这样在一定程度上增加了学生得到其他同学程序源代码的难度。

2.4 适当的惩罚措施

对于抄袭的惩罚,不同学校、不同教师有不同方法,轻的有口头警告,重的包括扣分,扣分也有轻重之分,在笔者教学的班级曾经有对抄袭本次作业记0分的惩罚,但由于纯靠人工筛查,只能发现极少数,不能起到应有的警示作用。另一方面,考虑到针对程序设计的初学者,过于严厉的惩罚并不合适,抓抄袭并不是目的,关键是要改变学生的学习习惯,促进他们独立思考。较为理想的方法是及时准确地发现抄袭,及时提醒,对不听从劝告的学生再予以惩罚。规定前2次抄袭只进行警告而不扣分,第3次被发现抄袭则说明该学生主观上有抄袭意图,这时将其之前所有被发现的抄袭作业进行扣分。经过一个学期的实践,总的来说,主观上故意抄袭的学生还是少数,而且由于采取了上述各种措施,到目前为止,只有极个别学生被发现抄袭3次以上。虽然表面上惩罚措施并不严厉,但也正因为如此,在跟学生沟通时,学生往往能讲真话,承认抄袭,并说明抄袭的真实原因。

3 效 果

图1是2016年春季学期到5月下旬某班程序设计课程中发现的抄袭数量的变化情况,由于评判标准相对稳定,因此这些数据可以比较充分地说明上述措施的效果。

图1 应用防抄袭方法后某班作业抄袭数量的变化情况

第n周上课时教师布置第n周的作业,作业提交截止时间是第n+1周课前,要在第n+1周课后才能检查提交的第n周作业,然后做出应对措施,包括在第n+2周向发现的第n周作业中可能抄袭的学生发出询问邮件,并在第n+2周课上提出警示,这些警示的效果往往要在第n+1周作业甚至第n+2周作业中才能看到。此外,由于第1周作业较简单,第2周作业才开始筛查抄袭。在发现第2周作业中有5%左右抄袭后,在第4周上课时以第2周作业为例说明判断抄袭的规则。由于在第3周作业中发现了更多的抄袭情况,从第5周开始,检查完每一周作业后都通过电子邮件向抄袭的学生发出询问。从图1中看到,抄袭的情况逐渐减少,达到了预定的减少抄袭的目标。

从图1中观察到一个有趣的现象,就是第5周发出电子邮件询问后,第5周作业抄袭的情况并没有多大缓解,第6周作业的抄袭量则达到了一个峰值,然后才逐渐下降。分析原因,第4、5、6周的作业量和作业难度并没有明显变化,与有关学生交流,也不能得到合理的解释。期末的统计结果显示整个学期在总人数约80人的班级中共有6名学生抄袭2次,有3名学生抄袭3次。相较往年抄袭行为逐渐蔓延的情况,这个结果说明抄袭行为受到了有效的遏制。

4 结 语

为减少学生抄袭作业而采取的一系列方法,从效果看,确实起到了防范抄袭的作用。但这些措施的最终目标不仅仅是防范抄袭,更为重要的是,学习困难的学生在学期初期就被识别出来,教师和助教能够及时为他们提供帮助,从而有助于整体上提高班级的学习水平。

从上述过程看,虽然大学生大多数已经年满18岁,但学习中教师的监督和及时的提醒还是必需的。然而过于严厉的惩罚措施也许会有一些副作用,例如会导致一些学生不承认自己的抄袭行为,也会使一些学生拒绝与其他学生进行正常的学习讨论。

[1] [1] Bowyer K W, Hall L O. Experience using "MOSS" to detect cheating on programming assignments[EB/OL]. [2016-05-25]. http://www3.nd.edu/~kwb/nsf-ufe/1110.pdf.

[2] 夏宽理, 赵子正. C语言程序设计[M]. 北京: 中国铁道出版社, 2013.

[3] 夏宽理, 赵子正. C语言程序设计上机指导与习题解答[M]. 北京: 中国铁道出版社, 2013.

(编辑:孙怡铭)

1672-5913(2017)02-0004-03

G642

上海市科技发展基金项目(13dz2260200,13511504300)。

陈彤兵,男,讲师,研究方向为数据库、软件工程,tbchen@fudan.edu.cn。

猜你喜欢
程序设计惩罚作业
医学专业“Python程序设计”课程教学改革总结与思考
基于Visual Studio Code的C语言程序设计实践教学探索
神的惩罚
Jokes笑话
从细节入手,谈PLC程序设计技巧
高职高专院校C语言程序设计教学改革探索
作业
真正的惩罚等
我想要自由
航空信带来的惩罚