APSEC 2024
Tue 3 - Fri 6 December 2024 China

The Online Judge System (OJS) is well-used in programming courses at universities or for self-learning. The system compiles and executes a set of source codes submitted in response to an assignment, and automatically grades them by comparing the output results and expectations. In university programming course, especially a curse for beginners, students repeatedly modify and submit source code until they receive a 100-point score. The OJS stores every source code until each student gets 100 points in an assignment; the differences through the first to last submissions contain an useful information to estimate student’s understanding for symtax or learning unit in the course. In this study, the authors propose difference flow, a series of syntax trees extracted from the difference between the final submission and every previous one. The difference flow contains the node where the difference with the 100-point source code and every parent node; hence, its features (such as the count of each syntax node through the flow) may indicate the student’s understanding.