Programming students need to be informed about plagiarism and collusion. Hence, we developed an assessment submission system to remind students about the matter. Each submission will be compared to others and any similarities that do not seem a result of coincidence will be reported along with their possible reasons. The system also employs gamification to promote early and unique submissions. Nevertheless, the system might put unnecessary pressure as coincidental similarities can still be reported. Further, it does not specifically cover self-plagiarism. We revisit the system and shift our focus to report simulated similarities from student own submission instead of reporting actual similarities across submissions. According to our evaluation with 390 students and five quasi-experiments, students with simulated similarities are slightly more aware of plagiarism and collusion, self-plagiarism in particular. Their awareness of the matter is somewhat acceptable (around 75%) and they see the benefits of our assessment submission system.
We present an overview of the nature of academic dishonesty with respect to computer science coursework. We discuss the efficacy of various policies for collaboration with regard to student education, and we consider a number of strategies for mitigating dishonest behaviour on computer science coursework by addressing some common causes. Computer science coursework is somewhat unique, in that there often exist ideal solutions for problems, and work may be shared and copied with very little effort. We discuss the idiosyncratic nature of how collaboration, collusion and plagiarism are defined and perceived by students, instructors and administration. After considering some of the common reasons for dishonest behaviour among students, we look at some methods that have been suggested for mitigating them. Finally, we propose several ideas for improving computer science courses in this context. We suggest emphasizing the intended learning outcomes of each assignment, providing tutorial sessions to facilitate acceptable collaboration, delivering quizzes related to assignment content after each assignment is submitted, and clarifying the boundary between collaboration and collusion in the context of each course. While this discussion is directed at the computer science community, much may apply to other disciplines as well, particularly those with a similar nature such as engineering, other sciences, or mathematics.