Analysis of school students' misconceptions about basic programming concepts
Žana Žanko
Monika Mladenović
Divna Krpan

2022

Journal of Computer Assisted Learning, Volume 38, Issue 3

Abstract Background and Context Most studies about programming misconceptions are conducted at the undergraduate and graduate levels. Since the age level for starting learning programming is getting lower, there is a need for determining programming misconceptions for younger learners. Objective Our goal is to determine programming misconceptions and their time‐resistance for programming novices at the K‐12 level using Python as a text‐based programming language. Method We conducted research in the school settings during informatics classes among 98 fifth‐grade students in three elementary schools. We analysed the data collected from two Python tests students took immediately after programming lectures and 5 months later. Results and Conclusions We detected seven misconceptions: (a) Assigning the expression instead of the calculated value, (b) When reassigning the variable value, assigning the sum value to the variable, (c) Using the symbolic name of the variable instead of its value, (d) Using the first (or previously) assigned variable value, (e) Datatype misconception, (f) Sequencing misconception, and (g) Swapping variable values. By shifting focus on variables and spending more time introducing variables and sequencing during teaching, the appearance of known misconceptions is minimized compared to previous findings. , Lay Description What is already known about this topic Programming misconceptions are known issues since the beginning of learning programming in the early 1980s Most programming misconceptions are time resistant. Most studies about misconceptions are conducted at the undergraduate and graduate levels. What this paper adds The goal of the study is to determine programming misconceptions for programming novices at the K‐12 level. Three more misconceptions about basic programming concepts are revealed compared to the previous findings. By shifting focus on variables and spending more time introducing variables and sequencing during teaching, the appearance of known misconceptions is minimized. Implications for practice and/or policy Being aware of misconceptions is an important aspect of a teacher's pedagogical knowledge to foster students learning. Aiming to prevent the known misconceptions, teachers can minimize it by interventions during teaching. The educators should emphasize the underlying conceptual programming concepts rather than syntactic ones related to the programming language.

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

Programming Languages

Python

Method

Quantitative analysis of student misconceptions about basic programming concepts through split exams spanning 2 sessions, months apart

Subjects

98 elementary school students

Artifact

Note by Progmiscon.org Team
We are not aware of an artifact supporting this paper.

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.)

Exam question
Analysis of answers to specific questions asked within an exam

Table8(a)
Assigning the expression instead of the calculated value
21.94 %
Students providing wrong answers (mean)
This provides evidence potentially relevant for the following Progmiscon.org misconceptions: