Determining Code Similarity Using One Programming Task

Name
Heli-Katri Marttila
Abstract
Teaching and studying programming is becoming increasingly popular. Since it can be done in a variety of forms and facilitated by different people, the requirements set on co-working and the use of materials may also vary. This is why students’ and teachers’ perception of allowed similarity and plagiarism may vary when considering complex situations. Although there are automated applications for similarity analysis, the ultimate decision still lies on a human. In this thesis, 24 solutions to one programming task were analysed for their similarity. The solutions were submitted by the participants of a programming course meant for beginners. The analysis was done in three steps – firstly the codes were analysed manually, then Moodle’s automated similarity analysis was used. Both methods resulted in clusters of similar solutions. Based on these results, as a third step, six pairs of solutions were constructed. These pairs were evaluated by the mentors of the programming course. As a result, the main aspects that are checked when assessing similarity, namely the variables, the length of the code, the structure and the content of the solutions were explained. The main techniques that can be used to hide traces of plagiarism were also included. The mentors’ views generally overlapped, but there were also contrary opinions.
Graduation Thesis language
Estonian
Graduation Thesis type
Bachelor - Computer Science
Supervisor(s)
Eno Tõnisson, Heidi Meier
Defence year
2020
 
PDF