Personalized learning in programming education aims at adapting instructional strategies to the diverse needs of students, particularly novice programmers. However, traditional approaches often fail to accommodate individual learning styles or emphasize clean coding practices. This study proposes a data-driven method to personalize programming education by analyzing large-scale datasets from block-based Visual Programming Language (VPL) projects created by novice programmers. Using static code analysis and machine learning, the approach examines the coverage of programming concepts and code quality metrics to identify patterns in student performance, enabling adaptive learning pathways. This approach is implemented in BlocklyMining, a tool that integrates static code analysis, quality assessment through SQALE, and machine-learning-based clustering. The study applies K-Means and Hierarchical Agglomerative Clustering to 215,244 MIT App Inventor projects, evaluating cluster quality using the Silhouette Coefficient (SC) and Davies–Bouldin Index (DBI). Results show that the clustering algorithms effectively group projects, thereby facilitating the generation of personalized learning recommendations tailored to novice programmers’ skill levels.
扫码关注我们
求助内容:
应助结果提醒方式:
