How Do Code Smells Affect Skill Growth in Scratch Novice Programmers?

📅 2025-07-23
📈 Citations: 0
Influential: 0
📄 PDF

career value

169K/year
🤖 AI Summary
This study investigates how design-level code smells in novice Scratch programs impede the development of computational thinking (CT) skills. Focusing on fine-grained associations between nine CT constructs and forty code smell categories, we employ an open-source linter to extract program features, then apply robust correlation analysis, hierarchical cross-validation, and exploratory machine learning modeling—while accounting for task context as a moderating factor. To our knowledge, this is the first large-scale study in block-based programming to establish interpretable, empirically grounded mappings between specific design defects and CT competencies, revealing mechanistic pathways through which novice programming habits hinder skill acquisition. We release a publicly available, de-identified benchmark dataset and a fully reproducible analytical pipeline, providing effect-size evidence to inform targeted pedagogical interventions, curriculum design, and optimization of automated feedback systems.

Technology Category

Application Category

📝 Abstract
Context. Code smells, which are recurring anomalies in design or style, have been extensively researched in professional code. However, their significance in block-based projects created by novices is still largely unknown. Block-based environments such as Scratch offer a unique, data-rich setting to examine how emergent design problems intersect with the cultivation of computational-thinking (CT) skills. Objective. This research explores the connection between CT proficiency and design-level code smells--issues that may hinder software maintenance and evolution--in programs created by Scratch developers. We seek to identify which CT dimensions align most strongly with which code smells and whether task context moderates those associations. Method. A random sample of aprox. 2 million public Scratch projects is mined. Using open-source linters, we extract nine CT scores and 40 code smell indicators from these projects. After rigorous pre-processing, we apply descriptive analytics, robust correlation tests, stratified cross-validation, and exploratory machine-learning models; qualitative spot-checks contextualize quantitative patterns. Impact. The study will deliver the first large-scale, fine-grained map linking specific CT competencies to concrete design flaws and antipatterns. Results are poised to (i) inform evidence-based curricula and automated feedback systems, (ii) provide effect-size benchmarks for future educational interventions, and (iii) supply an open, pseudonymized dataset and reproducible analysis pipeline for the research community. By clarifying how programming habits influence early skill acquisition, the work advances both computing-education theory and practical tooling for sustainable software maintenance and evolution.
Problem

Research questions and friction points this paper is trying to address.

Investigates code smells' impact on novice Scratch programmers' skill growth
Explores link between computational thinking and design flaws in Scratch projects
Aims to inform curricula and tools for sustainable software maintenance
Innovation

Methods, ideas, or system contributions that make the work stand out.

Analyzes Scratch projects using open-source linters
Applies machine-learning models to code smells
Links CT skills to design flaws quantitatively
🔎 Similar Papers
No similar papers found.
R
Ricardo Hidalgo Aragón
Universidad Rey Juan Carlos, Madrid, Spain
J
Jesús M. González-Barahona
Universidad Rey Juan Carlos, Madrid, Spain
G
Gregorio Robles
Universidad Rey Juan Carlos, Madrid, Spain