Automated teaching of efficient programming practices using feedback - Тимофеев, Дмитрий Андреевич; Самочадин, Александр Викторович (Computer Tools in Education, 2017)
In this paper, we discuss the question of transferring knowledge about the efficient processes software developers use when solving specific tasks. The traditional way of learning informal processes, the apprenticeship, requires watching the master at work and asking questions. This method is not possible when dealing with the mass education, especially the distant one. We propose to model the process of programming practiced by experts using a hidden Markov model associated with a set of hints. A plugin to an integrated development environment uses the model to detect the student’s activity and implements the feedback by proving relevant hints.