Preprogramming knowledge: a major source of misconceptions in novice programmers

  • Authors:
  • Jeffrey Bonar;Elliot Soloway

  • Affiliations:
  • Intelligent Tutoring Systems Group, Learning Research and Development Center, University of Pittsburgh, Pittsburgh, PA;Cognition and Programming Project, Computer Science Department, Yale University, New Haven, CT

  • Venue:
  • Human-Computer Interaction
  • Year:
  • 1985

Quantified Score

Hi-index 0.00

Visualization

Abstract

We present a process model to explain bugs produced by novices early in a programming course. The model was motivated by interviews with novice programmers solving simple programming problems. Our key idea is that many programming bugs can be explained by novices inappropriately using their knowledge of step-by-step procedural specifications in natural language. We view programming bugs as patches generated in response to an impasse reached by the novice while developing a program. We call such patching strategies bug generators. Several of our bug generators describe how natural language preprogramming knowledge is used by novices to create patches. Other kinds of bug generators are also discussed. We describe a representation both for novice natural language preprogramming knowledge and novice fragmentary programming knowledge. Using these representations and the bug generators, we evaluate the model by analyzing four interviews with novice programmers.