A Machine Learning Approach for Predicting Student Progress in Online Programming Education
摘要
Student data from online programming courses can provide valuable insights into how students approach problems and acquire critical computational skills, as well as about the challenges they face in the process. However, extracting these insights from data can be challenging, especially when dealing with large, complex and multi-dimensional datasets. In this paper, we propose a machine learning approach to predicting student progress at a module level in large-scale online programming courses. Our approach defines suitable content interaction features from the log data that measure student engagement with course material, and then creates a decision tree classifier to predict performance on the last problem in the module. Using data from four large-scale programming courses for upper primary and high school students, we demonstrate that this approach can produce accurate predictions of student progress and dropouts. Additionally, our approach provides interpretable tree-based visualisations that identify key course materials and programming tasks for successful course completion, and also highlights differences in student behaviour between courses. The predictive models were found to be informative by educators for improving the design of these online courses. The intrinsically explainable decision trees provided competitive accuracy compared to more advanced black-box models. By providing insights into the pedagogical value of course content, our approach facilitates a data-driven approach to increasing learning outcomes.