  Online programming courses are becoming more and more popular, but they still
have significant drawbacks when compared to the traditional education system,
e.g., the lack of feedback. In this study, we apply machine learning methods to
improve the feedback of automated verification systems for programming
assignments. We propose an approach that provides an insight on how to fix the
code for a given incorrect submission. To achieve this, we detect frequent
error types by clustering previously submitted incorrect solutions, label these
clusters and use this labeled dataset to identify the type of an error in a new
submission. We examine and compare several approaches to the detection of
frequent error types and to the assignment of clusters to new submissions. The
proposed method is evaluated on a dataset provided by a popular online learning
platform.
