Unplugged, Scratch, and Python: Tracing Primary Students’ Preconceptions of Programming Structures

Understanding how young learners conceptualize computing terms and programming structures is crucial for designing effective computing education. Although previous research has identified misconceptions among older students, little is known about how younger learners develop preconceptions before formal instruction. This study investigates how 34 primary school students (Grades 2-4, age: M = 8.65 years) conceptualize sequences, loops, and conditionals in unplugged, block-based (Scratch and BlockPy), and text-based (Python) programming environments. Using think-aloud interviews and qualitative content analysis, we investigated students’ reasoning during code-tracing activities. The findings indicate common preconceptions that can explain the prevalence of certain misconceptions in novice programmers. Furthermore, we identified two preconceptions that were not previously reported as misconceptions. First, students repeated Scratch loops an extra time, likely due to the natural-language interpretation of ’repeat’. Second, some students added numbers in conditions to statements inside conditionals, resembling a misconception previously observed only in loops. Finally, we determined factors influencing the development of preconceptions, such as programming language features and students’ mathematical abilities. These findings provide insight into the early development of misconceptions. They emphasize the role of programming language features in shaping young learners’ understanding, highlighting the need for appropriate instructional strategies and programming environments that support beginners in building accurate mental models of programming concepts.

Paper

Full text

PDF

Unplugged, Scratch, and Python: Tracing Primary Students’ Preconceptions of Programming Structures

Semantic Scholar · Computer Science · 2025

Abstract

Understanding how young learners conceptualize computing terms and programming structures is crucial for designing effective computing education. Although previous research has identified misconceptions among older students, little is known about how younger learners develop preconceptions before formal instruction. This study investigates how 34 primary school students (Grades 2-4, age: M = 8.65 years) conceptualize sequences, loops, and conditionals in unplugged, block-based (Scratch and BlockPy), and text-based (Python) programming environments. Using think-aloud interviews and qualitative content analysis, we investigated students’ reasoning during code-tracing activities. The findings indicate common preconceptions that can explain the prevalence of certain misconceptions in novice programmers. Furthermore, we identified two preconceptions that were not previously reported as misconceptions. First, students repeated Scratch loops an extra time, likely due to the natural-language interpretation of ’repeat’. Second, some students added numbers in conditions to statements inside conditionals, resembling a misconception previously observed only in loops. Finally, we determined factors influencing the development of preconceptions, such as programming language features and students’ mathematical abilities. These findings provide insight into the early development of misconceptions. They emphasize the role of programming language features in shaping young learners’ understanding, highlighting the need for appropriate instructional strategies and programming environments that support beginners in building accurate mental models of programming concepts.

References (39)

Scroll for more · 27 remaining

Similar papers

© 2026 NYSGPT2525 LLC