Litcius/Paper detail

On the cognitive development of the novice programmer

Raymond Lister

202018 citationsDOI

Abstract

This paper is a companion to my keynote address at the 9th Computer Science Education Research Conference (CSERC '20). I review the research that led to my three stage neo-Piagetian model of how novices understand code. Code tracing is the key. In the first stage, the novice cannot trace code. In the second stage, the novice has mastered tracing, but, crucially, that is the only skill they have mastered. It is only when novices reach the third stage that they begin to reason about code in a more general, abstract way. The principal failure of traditional approaches to teaching programming has been the assumption that the novices begin at the third stage.

Topics & Concepts

Computer scienceProgrammerTracingPrincipal (computer security)Code (set theory)TRACE (psycholinguistics)Programming languageKey (lock)Source codeCognitive scienceMathematics educationPsychologyLinguisticsSet (abstract data type)Operating systemPhilosophyComputer securityTeaching and Learning ProgrammingEducational Games and GamificationEvolutionary Algorithms and Applications