Prevalence of Programming Misconceptions in Primary School Students
Marco Hartmann
Michael Hielscher
Eva Marinus

2024

Proceedings of the 24th Koli Calling International Conference on Computing Education Research

This study investigates the prevalence of programming misconceptions among primary school students using the Programming Misconception Assessment Tool (ProMAT). The ProMAT was designed to measure programming misconceptions in two educational programming environments: Scratch and xLogo. We analyzed data from 366 Grade 5 and 6 children in German-speaking Switzerland to identify common misconceptions about sequences, loops, conditionals and to find out if they believed that there is a hidden mind in the programming environment that has intelligent interpretive powers (the so-called superbug misconception). In addition, we compared response patterns across the two programming environments. We found two misconceptions related to loops to be most common in Scratch, namely the belief that loops produce the exact same output in every iteration and that each command inside a loop is repeated separately. For xLogo, the most common misconception was from the sequences category, namely relating to the order of subprogram execution. Furthermore, variations of the superbug misconception were more prevalent among xLogo than among Scratch learners. We discuss how our results compare and add to the outcomes of earlier work, including the seminal study by Swidan and colleagues (2018). Finally, we explain how programming-environment-specific features might influence the formation or prevention of misconceptions in primary school students.

Study Information
Manually extracted from the paper by the Progmiscon.org team

Programming Languages

Scratch
xLogo

Method

Quantitative systematic research

Subjects

366 grade 5 or 6 students (255 for Scratch, 111 for xLogo)

Artifact

https://osf.io/5bxvp/?view_only=d6a51b4cfdfb4e63887fde5da9ef66c7
Note by Progmiscon.org Team
The ProMAT Scratch 1.3 test for this study is in 'ProMAT Scratch 1.3 annotated copy of online test.pdf'. (The same OSF project contains files for this study and their 2022 study.)

Related Study Results
Phenomena studied in this paper that map to Progmiscon.org misconceptions

The following list summarizes those phenomena reported in this study that provide evidence for misconceptions documented on Progmiscon.org. (The paper may provide evidence for other misconceptions as well. This list focuses exclusively on misconceptions documented on Progmiscon.org.)

Scratch Misconceptions
Misconceptions detected with ProMAT Scratch 1.3 (on sequences, loops, conditionals, superbug)

C2
A false condition ends program if no ELSE branch (26 in Sorva's list)
32 / 255
Students with this misconception
This provides evidence potentially relevant for the following Progmiscon.org misconceptions:
Note by Progmiscon.org Team
Percentage in paper (Figure 2, 12.3%) does not correspond to a whole number of students out of the reported 67+188=255 Scratch students
L5
When there are multiple actions inside a loop, instead of executing a sequence of actions in a loop and then repeating the entire sequence, some students tend to repeat each action separately before repeating the subsequent action(s), thus grouping the actions in the loop. (n2)
103 / 255
Students with this misconception
This provides evidence potentially relevant for the following Progmiscon.org misconceptions:
Note by Progmiscon.org Team
Percentage in paper (Figure 2, 40.5%) does not correspond to a whole number of students out of the reported 67+188=255 Scratch students
Item P9
Each time a scratch program is executed it starts in the same initial state
113 / 255
Students with this misconception
This provides evidence potentially relevant for the following Progmiscon.org misconceptions:
Note by Progmiscon.org Team
The paper maps test item P9 in ProMAT Scratch 1.3 to L6 (aka n3) 'Students ... expected loops to produce the exact same output in every iteration', which corresponds to ResetStateEachLoopIteration. However, item P9 is about reexecuting the entire program, by clicking on the green flag, and not about executing just another loop iteration. Thus, we associate item P9 with ResetStateEachProgramExecution. Also, the percentage in paper (Figure 2, 44.5%) does not correspond to a whole number of students out of the reported 67+188=255 Scratch students.