Automatic Clustering of Different Solutions to Programming Assignments in Computing Education

Lei Gao, Bo Wan, Cheng Fang, Yangyang Li, Chen Chen · 2019

A computer programming assignment may have various solutions, and extracting them is of great significance for both teaching and learning. However, it could be challenging for instructors and students to identify the differences between those solutions if they are on a large scale. Since code similarity is of vital importance in identifying the differences between solutions, we review previous researches on code similarity and design a neural network-based algorithm for detecting the similarity between codes in a pair as well as identifying the features that have a big impact on code similarity. Then we develop a clustering algorithm based on code similarity that can automatically generate clusters for all correct solutions to a given programming assignment. Our experiment demonstrates that the clustering algorithm can successfully obtain distinctive clusters in our dataset. Our analysis of typical solutions can provide inspirations for instructors and students.

Read the paper · More papers on PaperTik