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 ...
Program verification is a promising approach to improving program quality, because it can search all...
Despite employing various programming languages on different course majors, teaching novice programm...
Developers have to select appropriate tools, methods and approaches in order to efficiently reproduc...
In recent times, e-learning has become indispensable for both technical and general education. Among...
Students have enthusiastically taken to online programming lessons and contests. Unfortunately, they...
textMachine learning methods have been employed in data mining to discover useful, valid, and benefi...
Autograding systems are being increasingly deployed to meet the challenges of teaching programming a...
For large and complex software systems, it is a time-consuming process to manually inspect error log...
This paper proposes a technique for identifying program properties that indicate errors. The techniq...
This paper proposes a technique for identifying program properties that indicate errors. The techniq...
The verdicts of most online programming judges are, essentially, binary: the submitted codes are eit...
International audienceThis paper presents an algorithm that computes the most common error types rep...
We present TEGCER, an automated feedback tool for novice programmers. TEGCER uses supervised classif...
Static type systems are a powerful tool for reasoning about the safety of programs. Global type infe...
The evolution of a software system originates from its changes, whether it comes from changed user n...
Program verification is a promising approach to improving program quality, because it can search all...
Despite employing various programming languages on different course majors, teaching novice programm...
Developers have to select appropriate tools, methods and approaches in order to efficiently reproduc...
In recent times, e-learning has become indispensable for both technical and general education. Among...
Students have enthusiastically taken to online programming lessons and contests. Unfortunately, they...
textMachine learning methods have been employed in data mining to discover useful, valid, and benefi...
Autograding systems are being increasingly deployed to meet the challenges of teaching programming a...
For large and complex software systems, it is a time-consuming process to manually inspect error log...
This paper proposes a technique for identifying program properties that indicate errors. The techniq...
This paper proposes a technique for identifying program properties that indicate errors. The techniq...
The verdicts of most online programming judges are, essentially, binary: the submitted codes are eit...
International audienceThis paper presents an algorithm that computes the most common error types rep...
We present TEGCER, an automated feedback tool for novice programmers. TEGCER uses supervised classif...
Static type systems are a powerful tool for reasoning about the safety of programs. Global type infe...
The evolution of a software system originates from its changes, whether it comes from changed user n...
Program verification is a promising approach to improving program quality, because it can search all...
Despite employing various programming languages on different course majors, teaching novice programm...
Developers have to select appropriate tools, methods and approaches in order to efficiently reproduc...