Kathryn Cunningham, Sarah Blanchard, Barbara Ericson, M. Guzdial
{"title":"Using Tracing and Sketching to Solve Programming Problems: Replicating and Extending an Analysis of What Students Draw","authors":"Kathryn Cunningham, Sarah Blanchard, Barbara Ericson, M. Guzdial","doi":"10.1145/3105726.3106190","DOIUrl":null,"url":null,"abstract":"Sketching out a code trace is a cognitive assistance for programmers, student and professional. Previous research (Lister et al. 2004) showed that students who sketch a trace on paper had greater success on code 'reading' problems involving loops, arrays, and conditionals. We replicated this finding, and developed further categories of student sketching strategies. Our results support previous findings that students who don't sketch on code reading problems have a lower success rate than students who do sketch. We found that students who sketch incomplete traces also have a low success rate, similar to students who don't sketch at all. We categorized sketching strategies on new problem types (code writing, code ordering, and code fixing) and find that different types of sketching are used on these problems, not always with increased success. We ground our results in a theory of sketching as a method for distributing cognition and as a demonstration of the process of the notional machine.","PeriodicalId":267640,"journal":{"name":"Proceedings of the 2017 ACM Conference on International Computing Education Research","volume":"24 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2017-08-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"63","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 2017 ACM Conference on International Computing Education Research","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3105726.3106190","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 63
Abstract
Sketching out a code trace is a cognitive assistance for programmers, student and professional. Previous research (Lister et al. 2004) showed that students who sketch a trace on paper had greater success on code 'reading' problems involving loops, arrays, and conditionals. We replicated this finding, and developed further categories of student sketching strategies. Our results support previous findings that students who don't sketch on code reading problems have a lower success rate than students who do sketch. We found that students who sketch incomplete traces also have a low success rate, similar to students who don't sketch at all. We categorized sketching strategies on new problem types (code writing, code ordering, and code fixing) and find that different types of sketching are used on these problems, not always with increased success. We ground our results in a theory of sketching as a method for distributing cognition and as a demonstration of the process of the notional machine.
对程序员、学生和专业人士来说,勾勒出代码轨迹是一种认知辅助。先前的研究(Lister et al. 2004)表明,在纸上勾画轨迹的学生在涉及循环、数组和条件的代码“阅读”问题上取得了更大的成功。我们重复了这一发现,并进一步发展了学生素描策略的类别。我们的研究结果支持了之前的研究结果,即在代码阅读问题上不画草图的学生比画草图的学生成功率更低。我们发现,画不完整的痕迹的学生成功率也很低,就像根本不画的学生一样。我们根据新的问题类型(代码编写、代码排序和代码修复)对草图策略进行了分类,并发现在这些问题上使用了不同类型的草图,但并不总是更成功。我们将我们的结果建立在素描理论的基础上,作为一种分配认知的方法,并作为概念机器过程的演示。