Analysis of school students' misconceptions about basic programming conceptsŽana ŽankoMonika MladenovićDivna Krpan
Ž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 InformationManually 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
Related Study ResultsPhenomena 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 questionAnalysis of answers to specific questions asked within an exam
Table8(a)
Assigning the expression instead of the calculated value
Students providing wrong answers (mean)
This provides evidence potentially relevant for the following Progmiscon.org misconceptions: