Novice programming students often fail or drop out of beginner’s programming courses. One reason for this are incomplete or incorrect mental models, especially with regards to variable assignment and execution sequence, meaning that students have structural misconceptions of how a computer functions. To help correct such misconceptions, this study develops, tests, and assesses an intervention to correct mental models. The intervention consists of an in-class exercise that revolves around code tracing, which is an activity in which students execute code by hand and keep track of variables and their values by using pen and paper. In order to assess the exercise’s effectiveness, participants completed a baseline test and a follow-up test. The study found that a large proportion of the students held inviable mental models with regards to either variable assignment, execution sequence, or variable scope—or any combination of the three. Post-exercise tests showed a significant improvement across all three of the aforementioned categories of misconceptions, especially with regards to execution sequence. To achieve wide-scale implementation of the proposed intervention, the study identified a number of obstacles and opportunities. In terms of obstacles, the baseline and follow-up tests need further sophistication to increase sensitivity. Relatedly, it is necessary to develop software that generates randomized baseline tests, follow-up tests, and code tracing exercise problems. Key opportunities are the intervention’s low-tech nature, limited time needed for the exercise, as well as effectiveness.
Identifer | oai:union.ndltd.org:UPSALLA1/oai:DiVA.org:bth-22752 |
Date | January 2022 |
Creators | van den Dool Enebjörk, Mattias |
Publisher | Blekinge Tekniska Högskola, Institutionen för programvaruteknik |
Source Sets | DiVA Archive at Upsalla University |
Language | English |
Detected Language | English |
Type | Student thesis, info:eu-repo/semantics/bachelorThesis, text |
Format | application/pdf |
Rights | info:eu-repo/semantics/openAccess |
Page generated in 0.0023 seconds