{"title":"调试:打开新手程序员思维的钥匙?","authors":"Tony Lowe","doi":"10.1109/FIE43999.2019.9028699","DOIUrl":null,"url":null,"abstract":"Novice programmers must master two skills to show lasting success: writing code and, when that fails, the ability to debug it. Instructors spend much time teaching the details of writing code but debugging gets significantly less attention. But what if teaching debugging could implicitly teach other aspects of coding better than teaching a language teaching debugging? This paper explores a new theoretical framework, the Theory of Applied Mind for Programming (TAMP), which merges dual process theory with Jerome Bruner’s theory of representations to model the mind of a programmer. TAMP looks to provide greater explanatory power in why novices struggle and suggest pedagogy to bridge gaps in learning. This paper will provide an example of this by reinterpreting debugging literature using TAMP as a theoretical guide. Incorporating new view theoretical viewpoints from old studies suggests a “debugging-first” pedagogy can supplement existing methods of teaching programming and perhaps fill some of the mental gaps TAMP suggests hamper novice programmers.","PeriodicalId":6700,"journal":{"name":"2019 IEEE Frontiers in Education Conference (FIE)","volume":"278 1","pages":"1-9"},"PeriodicalIF":0.0000,"publicationDate":"2019-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"8","resultStr":"{\"title\":\"Debugging: The key to unlocking the mind of a novice programmer?\",\"authors\":\"Tony Lowe\",\"doi\":\"10.1109/FIE43999.2019.9028699\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Novice programmers must master two skills to show lasting success: writing code and, when that fails, the ability to debug it. Instructors spend much time teaching the details of writing code but debugging gets significantly less attention. But what if teaching debugging could implicitly teach other aspects of coding better than teaching a language teaching debugging? This paper explores a new theoretical framework, the Theory of Applied Mind for Programming (TAMP), which merges dual process theory with Jerome Bruner’s theory of representations to model the mind of a programmer. TAMP looks to provide greater explanatory power in why novices struggle and suggest pedagogy to bridge gaps in learning. This paper will provide an example of this by reinterpreting debugging literature using TAMP as a theoretical guide. Incorporating new view theoretical viewpoints from old studies suggests a “debugging-first” pedagogy can supplement existing methods of teaching programming and perhaps fill some of the mental gaps TAMP suggests hamper novice programmers.\",\"PeriodicalId\":6700,\"journal\":{\"name\":\"2019 IEEE Frontiers in Education Conference (FIE)\",\"volume\":\"278 1\",\"pages\":\"1-9\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2019-10-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"8\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2019 IEEE Frontiers in Education Conference (FIE)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/FIE43999.2019.9028699\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2019 IEEE Frontiers in Education Conference (FIE)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/FIE43999.2019.9028699","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 8
摘要
新手程序员必须掌握两项技能才能获得持久的成功:编写代码,以及在代码失败时调试代码的能力。讲师花了很多时间教授编写代码的细节,但调试得到的关注却少得多。但是,如果教授调试可以比教授一门语言更好地隐性地教授编码的其他方面呢?本文探索了一个新的理论框架——编程应用思维理论(Theory of Applied Mind for Programming, TAMP),该理论将双过程理论与Jerome Bruner的表征理论相结合,对程序员的思维进行了建模。TAMP希望为新手为什么挣扎提供更大的解释力,并建议在学习中弥合差距的教学法。本文将以TAMP作为理论指导,通过重新解释调试文献,提供一个这样的例子。结合旧研究的新观点和理论观点表明,“调试优先”的教学法可以补充现有的编程教学方法,并可能填补TAMP认为阻碍新手程序员的一些心理空白。
Debugging: The key to unlocking the mind of a novice programmer?
Novice programmers must master two skills to show lasting success: writing code and, when that fails, the ability to debug it. Instructors spend much time teaching the details of writing code but debugging gets significantly less attention. But what if teaching debugging could implicitly teach other aspects of coding better than teaching a language teaching debugging? This paper explores a new theoretical framework, the Theory of Applied Mind for Programming (TAMP), which merges dual process theory with Jerome Bruner’s theory of representations to model the mind of a programmer. TAMP looks to provide greater explanatory power in why novices struggle and suggest pedagogy to bridge gaps in learning. This paper will provide an example of this by reinterpreting debugging literature using TAMP as a theoretical guide. Incorporating new view theoretical viewpoints from old studies suggests a “debugging-first” pedagogy can supplement existing methods of teaching programming and perhaps fill some of the mental gaps TAMP suggests hamper novice programmers.