Assisted learning of C programming through automated program repair and feed-back generation

Programming courses are among all the current academic curricula for engineering studies. Unfortunately, students often face difficulties already on the basic concepts. Both students and teachers believe that practical sessions and guided learning lead to good outcomes. On the other hand, it is virtually difficult considering the number of students enrolled on programming courses. This paper presents an automated assessment system for programming assignments, based on two different methods: static and dynamic analysis. The presented system aims at providing the student with an ongoing and various feedback delivered according to the category and the recurrence of errors. The system imbeds an automated error repairing feature for the purposes of insuring the assessment process achievement. It operates if the student fails to submit a correct program despite the feed-back provided by the system. In such cases, the system uses a penalty mechanism, customized by the teacher to grade the student’s program. Testing the presented automated system, through assessing real students’ assignments, showed promising results compared to manual assessment.