Inferring How Novice Students Learn to Code - Integrating Automated Program Repair with Cognitive Model.

Yu Liang,Wenjun Wu,Lisha Wu,Meng Wang
DOI: https://doi.org/10.1007/978-981-15-1899-7_4
IF: 4.426
2019-01-01
Big Data
Abstract:Learning to code on Massive Open Online Courses (MOOCs) has become more and more popular among novice students while inferring how the students learn programming on MOOCs is a challenging task. To solve this challenge, we build a novel Intelligent Programming Tutor (IPT) which integrates the Automated Program Repair (APR) and student cognitive model. We improve an efficient APR engine, which can not only obtain repair results but also identify the types of programming errors. Based on APR, we extend the Conjunctive Factor Model (CFM) by using programming error classification as cognitive skill representation to support the student cognitive model on learning programming. We validate our IPT with the real dataset collected from a Python programming course. The results show that compared with the original CFM, our model can represent programming learning outcomes of students and predict their future performance more reliably. We also compare our student cognitive model with the state-of-the-art Deep Knowledge Tracing (DKT) model. Our model requires less training data and is higher interpretable than the DKT model.
What problem does this paper attempt to address?