Work

Learning personalization in block-based programming languages using clustering and static code analysis

Year: 2026
Type: article
Abstract: 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. • A data-driven method to personalize programming education is presented. • Analysis of large datasets from novice Visual Programming Language (VPL) projects. • Visual and personalized recommendations are integrated within MIT App Inventor. • Static code analysis and Machine Learning identify patterns and skill levels. • Personalized learning paths are generated based on clustering results.
Language: English
Open Access status: gold
Estimated APC paid: $1,390
OpenAlex ID: W7123686546
FWCI:
Cites: 25
Cited by:
Related to: