Logistics, Affordances, and Evaluation of Build Programming: A Code Reading Instructional Strategy

A. Kapoor, Tianwei Xie, Leong Kwan, Christina Gardner-Mccune
{"title":"Logistics, Affordances, and Evaluation of Build Programming: A Code Reading Instructional Strategy","authors":"A. Kapoor, Tianwei Xie, Leong Kwan, Christina Gardner-Mccune","doi":"10.1145/3545945.3569756","DOIUrl":null,"url":null,"abstract":"Computing students are expected to contribute to large unfamiliar codebases as they transition from university to industry settings. While computing courses provide students ample opportunities to write code independently or utilize abstract functionalities from standard libraries, students have fewer opportunities to read or extend codebases written by other programmers. This paper presents the logistics, affordances, and empirical evaluation of a novel instructional strategy, Build Programming, which is designed to promote code reading and extension in CS courses. In this strategy, a student (1) solves a programming problem, (2) is assigned a new codebase from a peer who solved the same problem, and (3) is asked to extend the assigned codebase to solve another problem. This allows a student to understand and extend an authentic codebase that is situated in a familiar context. In this paper, we shed light on the logistics of operationalizing this strategy in the context of an undergraduate Data Structures and Algorithms course (N=206). We also describe the affordances of this strategy through student experiences and evaluate the efficacy of one of these affordances, improving code quality through source code analysis. Most students (91%) proposed continuing Build Programming and students' code quality significantly improved after our strategy. Our findings underscore the benefits of Build Programming, and we hope that more instructors incorporate it in CS courses.","PeriodicalId":371326,"journal":{"name":"Proceedings of the 54th ACM Technical Symposium on Computer Science Education V. 1","volume":"43 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2023-03-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 54th ACM Technical Symposium on Computer Science Education V. 1","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3545945.3569756","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1

Abstract

Computing students are expected to contribute to large unfamiliar codebases as they transition from university to industry settings. While computing courses provide students ample opportunities to write code independently or utilize abstract functionalities from standard libraries, students have fewer opportunities to read or extend codebases written by other programmers. This paper presents the logistics, affordances, and empirical evaluation of a novel instructional strategy, Build Programming, which is designed to promote code reading and extension in CS courses. In this strategy, a student (1) solves a programming problem, (2) is assigned a new codebase from a peer who solved the same problem, and (3) is asked to extend the assigned codebase to solve another problem. This allows a student to understand and extend an authentic codebase that is situated in a familiar context. In this paper, we shed light on the logistics of operationalizing this strategy in the context of an undergraduate Data Structures and Algorithms course (N=206). We also describe the affordances of this strategy through student experiences and evaluate the efficacy of one of these affordances, improving code quality through source code analysis. Most students (91%) proposed continuing Build Programming and students' code quality significantly improved after our strategy. Our findings underscore the benefits of Build Programming, and we hope that more instructors incorporate it in CS courses.
构建编程的逻辑、支持与评价:一种代码阅读教学策略
当计算机专业的学生从大学过渡到工业环境时,他们被期望为大量不熟悉的代码库做出贡献。虽然计算机课程为学生提供了大量独立编写代码或利用标准库中的抽象功能的机会,但学生很少有机会阅读或扩展其他程序员编写的代码库。本文介绍了一种新的教学策略“构建编程”的逻辑、可行性和实证评估,该策略旨在促进计算机科学课程中的代码阅读和扩展。在这个策略中,一个学生(1)解决了一个编程问题,(2)从解决了同样问题的同学那里分配了一个新的代码库,(3)被要求扩展分配的代码库来解决另一个问题。这使学生能够理解和扩展位于熟悉上下文中的真实代码库。在本文中,我们在本科生数据结构和算法课程(N=206)的背景下阐明了实施这一策略的逻辑。我们还通过学生的经验描述了该策略的启示,并评估了其中一个启示的有效性,通过源代码分析提高了代码质量。大多数学生(91%)建议继续构建编程,并且在我们的策略之后,学生的代码质量显著提高。我们的研究结果强调了构建编程的好处,我们希望更多的教师将其纳入CS课程。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
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学术官方微信