An integrated model of automated elementary programming feedback using assisted and recommendation approach - Safei, Suhailan (2017)
Many studies on automated programming assessment tools with automated feedbacks have been addressed to assist students rectifying their solution’s difficulty. However, many students will depend on an expert's assistance (e.g. expert) to debug their programs towards meeting the question's requirements. While several studies have produced feedback on the specific need of programming’s question using a static template analysis, there is still a lack of an automated programming feedback model that is dynamically enriched through a live assisted feedback from an expert. Thus, this research proposed an integrated programming feedback model of elementary programming question using assisted and recommended approach. The assisted feedback was done by an expert through a similar difficulty analysis of computer programs that were grouped together based on their difficulty features. The features were proposed to enable ranking among computer programs and they were proven to be strongly correlated with the manual ranking of an expert's rubric assessment (rs = 0.914, p < 2.2e-16). Meanwhile, similar difficulty groups of the computer programs were generated using a K-Means clustering algorithm that was enhanced with ranking consideration. This enhancement was evaluated on three ordinal datasets on different application domain covering 67 Java programs, 92 students’ marks on computer architecture subject and 456 EUFA’s football club coefficient ranking list. The results showed that not only a rank cluster representation was achieved, but the purity value was also increased by 1%. As the computer programs were clustered based on ranking consideration, expert's feedback analysis can be effectively done from worst to least for the programs' difficulty. Hence, two kinds of assisted feedbacks were proposed; general and specific assisted feedback. These feedbacks were automatically indexed using general program features and specific statement pattern rule for automated retrieval on general and specific recommended feedbacks respectively. An experiment was executed real programming lab dataset that consists of 475 elementary programming answer submissions from 67 participants. Expert's assisted feedbacks were provided at the end of a program submission. It shows that the technique has successfully clustered 67 computer programs into 24 similar groups of programming logic’s mistake. Based on the groups, general feedbacks were provided on 6 groups covering 33 programs. Then, by using the proposed indexing technique, the same feedback has efficiently recommended to other 148 programs that are having similar mistakes along the lab session. On the other hand, 7 specific feedbacks were provided on 7 computer statements’ mistake and were recommended to other 64 programs who were having similar statement mistakes along the lab session. Thus, the proposed technique can effectively help the expert providing continuous and dynamic feedback in rectifying logic’s requirement of a problem. Unfortunately, the model is not suitable for complex programming question where their solution logics can be diversified. However, future work on the automatic extraction of acceptable program answer as a solution template may solve such limitation.