Assignment, scope, and sequence: Code tracing as a tool to improve novice programmers’ mental models
2022 (English)Independent thesis Basic level (degree of Bachelor), 10 credits / 15 HE credits
Student thesis
Abstract [en]
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.
Place, publisher, year, edition, pages
2022.
Keywords [en]
novice programmers, mental models, code tracing, teaching strategies
National Category
Software Engineering
Identifiers
URN: urn:nbn:se:bth-22752OAI: oai:DiVA.org:bth-22752DiVA, id: diva2:1645831
Subject / course
PA1445 Kandidatkurs i Programvaruteknik
Supervisors
Examiners
2022-03-212022-03-192022-03-21Bibliographically approved