Investigating Novice Programmers' Mental Models

Doctoral Candidate Name: 
Syeda Fatema Mazumder
Program: 
Computing and Information Systems
Abstract: 

Novice programmers are known for holding incomplete and inconsistent mental models. A mental model stores knowledge that reflects a person's belief system, helps determine actions, and facilitates learning. Mental model correctness and consistency are two criteria that make a mental model useful. Though the literature on mental models is rich with more than two decades of research, novice programmers' mental model is understudied in the CS education research community. Guided by the mental model theories from psychology and cognitive science, I investigated novice programmers' mental models of arrays before and after CS1 course instruction. Furthermore, I explored the gap that might exist between students with varying levels of prior programming experience. To that end, by following the theories of mental models, I defined the mental models for Java arrays, including assertions of the array's parts and state changes. I further decomposed the array's parts and state changes into four sub-components each (parts: name, index, type, elements}; state changes: declaration, instantiation, assigning literals, assignment). To elicit the mental model assertions of novice programmers from large CS1 classrooms, I adopted a multiple choice-based questionnaire approach (the Mental Model Test) covering each array's component. I collected responses from novice programmers as they entered a CS1 course and transitioned into a CS2 course. I analyzed participants' mental model assertions based on their correctness and consistency.

The results show that participants' mental model correctness and consistency improved after formal classroom instruction. Moreover, even though improved, I found evidence that the mental model components of the array's state changes were less accurate and consistent than the parts. In addition, participants with prior programming experience had significantly lower mental model correctness and consistency than those with prior programming experience before classroom instruction on arrays. The mental model test highlighted several novice programmers' misconceptions. Over half of our participants held at least one misconception before and after learning arrays in classrooms. Novice programmers mostly held misconceptions about the arrays’ declarations (state change) as incoming CS1 students and when transitioning into CS2. After classroom instruction, the number of students holding misconceptions about the parts components decreased. However, for the state changes components, in most cases, the number of students holding misconceptions remained almost the same even after classroom instruction. I close my dissertation by summarizing the overall findings while investigating novice programmers' mental models in their different learning trajectories. Lastly, I discuss the implications of my research in designing instructional materials for CS educators on possible solutions to mitigate the mental model gap of novice programmers.

Defense Date and Time: 
Wednesday, February 28, 2024 - 12:30pm
Defense Location: 
Woodward Hall 338
Committee Chair's Name: 
Dr. Manuel A. Pérez-Quiñones
Committee Members: 
Dr. Celine Latulipe, Dr. Heather Lipford, Dr. Debarati Basu, Dr. Alexia Galati, Dr. Erik Saule