{"title":"On the cognitive development of the novice programmer: and the development of a computing education researcher","authors":"R. Lister","doi":"10.1145/3442481.3442498","DOIUrl":null,"url":null,"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.","PeriodicalId":262503,"journal":{"name":"Proceedings of the 9th Computer Science Education Research Conference","volume":"28 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2020-10-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"10","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 9th Computer Science Education Research Conference","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3442481.3442498","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 10
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.