RT journal article T1 Learning personalization in block-based programming languages using clustering and static code analysis A1 Person Montero, Tatiana A1 Caballero Hernández, Juan Antonio A1 Romero, Cristóbal A1 Ruiz Rube, Iván A1 Dodero Beardo, Juan Manuel A2 Ingeniería Informática K1 Learning personalization K1 Block-based languages K1 Machine learning K1 K-Means K1 Hierarchical Agglomerative AB 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. PB Elsevier SN 2666-5573 YR 2026 FD 2026-06-13 LK http://hdl.handle.net/10498/40143 UL http://hdl.handle.net/10498/40143 LA eng DS Repositorio Institucional de la Universidad de Cádiz RD 21-sep-2026