检测CS1中程序分解的原因并评估其影响

Charis Charitsis, C. Piech, John C. Mitchell
{"title":"检测CS1中程序分解的原因并评估其影响","authors":"Charis Charitsis, C. Piech, John C. Mitchell","doi":"10.1145/3545945.3569763","DOIUrl":null,"url":null,"abstract":"Decomposition is considered one of the four cornerstones of computational thinking, which is essential to software development [36]. It requires the ability to assess a problem at a high level, develop a strategy to combat it, and then design a solution. Our study focuses on the metacognitive aspect of decomposition. We try to understand the learner's thought process and, specifically, what makes the novice programmer decide to break down a function. Researchers have studied decomposition in introductory programming courses through guided experiments, case studies, and surveys[23,37]. In this work, we follow a different, more scalable approach. We develop an automated system to analyze 45,000 code snapshots from 168 students for a challenging CS1 programming assignment, detect the pivotal moments when they decide to decompose their programs, and identify what drives their decisions from the code. We then classify the students and study the relationship between the different categories, the code complexity, and the time to derive the final solution. We evaluate the impact of decomposition on the student's performance in the assignment and the course exams. Finally, we discuss the implications of our results for computing education.","PeriodicalId":371326,"journal":{"name":"Proceedings of the 54th ACM Technical Symposium on Computer Science Education V. 1","volume":"13 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2023-03-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"2","resultStr":"{\"title\":\"Detecting the Reasons for Program Decomposition in CS1 and Evaluating Their Impact\",\"authors\":\"Charis Charitsis, C. Piech, John C. Mitchell\",\"doi\":\"10.1145/3545945.3569763\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Decomposition is considered one of the four cornerstones of computational thinking, which is essential to software development [36]. It requires the ability to assess a problem at a high level, develop a strategy to combat it, and then design a solution. Our study focuses on the metacognitive aspect of decomposition. We try to understand the learner's thought process and, specifically, what makes the novice programmer decide to break down a function. Researchers have studied decomposition in introductory programming courses through guided experiments, case studies, and surveys[23,37]. In this work, we follow a different, more scalable approach. We develop an automated system to analyze 45,000 code snapshots from 168 students for a challenging CS1 programming assignment, detect the pivotal moments when they decide to decompose their programs, and identify what drives their decisions from the code. We then classify the students and study the relationship between the different categories, the code complexity, and the time to derive the final solution. We evaluate the impact of decomposition on the student's performance in the assignment and the course exams. Finally, we discuss the implications of our results for computing education.\",\"PeriodicalId\":371326,\"journal\":{\"name\":\"Proceedings of the 54th ACM Technical Symposium on Computer Science Education V. 1\",\"volume\":\"13 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2023-03-02\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"2\",\"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.3569763\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","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.3569763","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 2

摘要

分解被认为是计算思维的四大基石之一,这对软件开发至关重要[36]。它要求有能力在高层次上评估问题,制定解决问题的策略,然后设计解决方案。我们的研究主要集中在分解的元认知方面。我们试图理解学习者的思维过程,特别是,是什么让新手程序员决定分解一个函数。研究人员通过引导性实验、案例研究和调查研究了编程入门课程中的分解[23,37]。在这项工作中,我们采用了一种不同的、更具可扩展性的方法。我们开发了一个自动化系统来分析来自168名学生的45,000个代码快照,以完成一项具有挑战性的CS1编程作业,检测他们决定分解程序的关键时刻,并确定是什么驱使他们从代码中做出决定。然后我们对学生进行分类,并研究不同类别之间的关系,代码复杂性,以及推导最终解决方案的时间。我们评估分解对学生在作业和课程考试中的表现的影响。最后,我们讨论了我们的结果对计算机教育的影响。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
Detecting the Reasons for Program Decomposition in CS1 and Evaluating Their Impact
Decomposition is considered one of the four cornerstones of computational thinking, which is essential to software development [36]. It requires the ability to assess a problem at a high level, develop a strategy to combat it, and then design a solution. Our study focuses on the metacognitive aspect of decomposition. We try to understand the learner's thought process and, specifically, what makes the novice programmer decide to break down a function. Researchers have studied decomposition in introductory programming courses through guided experiments, case studies, and surveys[23,37]. In this work, we follow a different, more scalable approach. We develop an automated system to analyze 45,000 code snapshots from 168 students for a challenging CS1 programming assignment, detect the pivotal moments when they decide to decompose their programs, and identify what drives their decisions from the code. We then classify the students and study the relationship between the different categories, the code complexity, and the time to derive the final solution. We evaluate the impact of decomposition on the student's performance in the assignment and the course exams. Finally, we discuss the implications of our results for computing education.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
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学术官方微信