Providing feedback in the domain of programming

For students using Intelligent Tutoring Systems could be feedback very valuable. It helps them by explaining mistakes, motivate them and lead to correct solution. However, Intelligent Tutoring Systems need to know about the process of solving the problém before it will be able provide useful feedback. Modeling such a process is especially difficult in domains like programming where it is not easy to decompose the problem to the sequence of independent steps.

In our work, we analyze existing research in field of providing feedback in domain of
programming. Based on result of analysis we propose and plan to implement system for providing feedback. We created dataset by doing dynamic analysis on programing exercises solutions. Using this dataset we will propose method for clustering solutions which were solved by same or similar process. Individual clusters will provide useful feedback to teachers. We will also detect mistakes in correct solutions by comparing solution in individual clusters. By doing this, we will provide feedback to students about their solution. Our system has potential to make usage of Intelligent Tutoring Systems more easy and effective both for teachers and student by providing relevant feedback.