A new model for collaborative learning of programming using source code similarity detection

Teaching programming typically requires assessment of programming codes submitted by students (as solutions to practice or exam exercises). The task becomes particularly difficult if the number of students enrolled in the programming course being taught increases to more than 100 - in such situations the evaluation cannot be done manually in a reasonable amount of time. Furthermore, the feedback for the students becomes impossible. The need for fast assessment of programming codes has led to the development of automated grading systems. As opposed to most systems that check each program's output for some predefined test cases in order to assess its correctness, in our previous work we have introduced a new model for semiautomatic student source code assessment [1]. Here, based on the ideas of that model, we propose a new model for collaborative learning of programming in case when there are a large number of students involved in the system i.e. enrolled in the programming course or engaged in preparations for programming contests.