代码是如何形成的:研究学生的程序演变

IF 2.3 1区 心理学 Q2 PSYCHOLOGY, EDUCATIONAL
Brian A. Danielak
{"title":"代码是如何形成的:研究学生的程序演变","authors":"Brian A. Danielak","doi":"10.1080/07370008.2022.2044330","DOIUrl":null,"url":null,"abstract":"Abstract This paper focuses on a historically understudied area in computing education: attending to students’ *design thinking* in university-level introductory programming courses. I offer an account of one student—“Rebecca”—and her experiences and code from a second-semester course on programming concepts for engineers. Using data from both code snapshots and clinical interviews, I explicate both the challenges of studying students’ software design processes and the potential for such study to inform accounts of teaching and learning. My analysis focuses on two related aspects of Rebecca’s code for a multi-week class project: 1. The origin, nature, and evolution of unusual structural and behavioral features of Rebecca’s code 2. The subtle, yet complex reasons that led Rebecca to make particular design choices in her codeMy data comes from ethnographic observation of Rebecca’s class, fine-grained compile-time snapshots of Rebecca’s codebase, and semistructured interviews with Rebecca. I first present an analysis of only Rebecca’s final submitted code (what an instructor would typically see) detailing Rebecca’s unusual use of file-scanning loops and her seven-fold repetition of a particular code chunk (once for each day of the week). I then augment that analysis with code snapshot history and data from semi-structured interviews with Rebecca. This augmented analysis reveals _affect_ [@hannula_affect_2004; @eynde_case_2006] and _framing_ [@van_de_sande_achieving_2012; @mestre_resources_2005] offer substantial explanatory power for understanding why Rebecca made particular design choices.","PeriodicalId":47945,"journal":{"name":"Cognition and Instruction","volume":"40 1","pages":"266 - 303"},"PeriodicalIF":2.3000,"publicationDate":"2022-03-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"3","resultStr":"{\"title\":\"How Code Takes Shape: Studying a Student’s Program Evolution\",\"authors\":\"Brian A. Danielak\",\"doi\":\"10.1080/07370008.2022.2044330\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Abstract This paper focuses on a historically understudied area in computing education: attending to students’ *design thinking* in university-level introductory programming courses. I offer an account of one student—“Rebecca”—and her experiences and code from a second-semester course on programming concepts for engineers. Using data from both code snapshots and clinical interviews, I explicate both the challenges of studying students’ software design processes and the potential for such study to inform accounts of teaching and learning. My analysis focuses on two related aspects of Rebecca’s code for a multi-week class project: 1. The origin, nature, and evolution of unusual structural and behavioral features of Rebecca’s code 2. The subtle, yet complex reasons that led Rebecca to make particular design choices in her codeMy data comes from ethnographic observation of Rebecca’s class, fine-grained compile-time snapshots of Rebecca’s codebase, and semistructured interviews with Rebecca. I first present an analysis of only Rebecca’s final submitted code (what an instructor would typically see) detailing Rebecca’s unusual use of file-scanning loops and her seven-fold repetition of a particular code chunk (once for each day of the week). I then augment that analysis with code snapshot history and data from semi-structured interviews with Rebecca. This augmented analysis reveals _affect_ [@hannula_affect_2004; @eynde_case_2006] and _framing_ [@van_de_sande_achieving_2012; @mestre_resources_2005] offer substantial explanatory power for understanding why Rebecca made particular design choices.\",\"PeriodicalId\":47945,\"journal\":{\"name\":\"Cognition and Instruction\",\"volume\":\"40 1\",\"pages\":\"266 - 303\"},\"PeriodicalIF\":2.3000,\"publicationDate\":\"2022-03-18\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"3\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Cognition and Instruction\",\"FirstCategoryId\":\"102\",\"ListUrlMain\":\"https://doi.org/10.1080/07370008.2022.2044330\",\"RegionNum\":1,\"RegionCategory\":\"心理学\",\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"Q2\",\"JCRName\":\"PSYCHOLOGY, EDUCATIONAL\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Cognition and Instruction","FirstCategoryId":"102","ListUrlMain":"https://doi.org/10.1080/07370008.2022.2044330","RegionNum":1,"RegionCategory":"心理学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q2","JCRName":"PSYCHOLOGY, EDUCATIONAL","Score":null,"Total":0}
引用次数: 3

摘要

本文关注计算机教育中一个历史上被忽视的领域:在大学水平的编程入门课程中关注学生的“设计思维”。我提供了一个学生“Rebecca”的故事——她在第二学期的工程师编程概念课程上的经历和代码。使用代码快照和临床访谈的数据,我解释了研究学生软件设计过程的挑战,以及这种研究为教学和学习提供信息的潜力。我的分析集中在Rebecca的代码的两个相关方面,这是一个多周的课程项目:1。Rebecca代码中不寻常的结构和行为特征的起源、性质和演变2。导致Rebecca在她的codeMy数据中做出特定设计选择的微妙而复杂的原因来自于对Rebecca班级的人类学观察、对Rebecca代码库的细粒度编译时快照以及对Rebecca的半结构化采访。首先,我只对Rebecca最后提交的代码进行了分析(这是指导老师通常会看到的),详细介绍了Rebecca不寻常地使用文件扫描循环,以及她对特定代码块重复七次(一周每天一次)。然后,我用代码快照历史记录和来自与Rebecca的半结构化访谈的数据来增强分析。这个增强分析揭示了_affect_ [@hannula_affect_2004;@van_de_sande_achieving_2012;@mestre_resources_2005]为理解Rebecca为什么做出特定的设计选择提供了大量的解释力。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
How Code Takes Shape: Studying a Student’s Program Evolution
Abstract This paper focuses on a historically understudied area in computing education: attending to students’ *design thinking* in university-level introductory programming courses. I offer an account of one student—“Rebecca”—and her experiences and code from a second-semester course on programming concepts for engineers. Using data from both code snapshots and clinical interviews, I explicate both the challenges of studying students’ software design processes and the potential for such study to inform accounts of teaching and learning. My analysis focuses on two related aspects of Rebecca’s code for a multi-week class project: 1. The origin, nature, and evolution of unusual structural and behavioral features of Rebecca’s code 2. The subtle, yet complex reasons that led Rebecca to make particular design choices in her codeMy data comes from ethnographic observation of Rebecca’s class, fine-grained compile-time snapshots of Rebecca’s codebase, and semistructured interviews with Rebecca. I first present an analysis of only Rebecca’s final submitted code (what an instructor would typically see) detailing Rebecca’s unusual use of file-scanning loops and her seven-fold repetition of a particular code chunk (once for each day of the week). I then augment that analysis with code snapshot history and data from semi-structured interviews with Rebecca. This augmented analysis reveals _affect_ [@hannula_affect_2004; @eynde_case_2006] and _framing_ [@van_de_sande_achieving_2012; @mestre_resources_2005] offer substantial explanatory power for understanding why Rebecca made particular design choices.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
CiteScore
7.90
自引率
12.10%
发文量
22
期刊介绍: Among education journals, Cognition and Instruction"s distinctive niche is rigorous study of foundational issues concerning the mental, socio-cultural, and mediational processes and conditions of learning and intellectual competence. For these purposes, both “cognition” and “instruction” must be interpreted broadly. The journal preferentially attends to the “how” of learning and intellectual practices. A balance of well-reasoned theory and careful and reflective empirical technique is typical.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信