Program Comprehension with Physical Computing: A Structure, Function, and Behavior Analysis of Think-Alouds with High School Students.

Program Comprehension with Physical Computing: A Structure, Function, and Behavior Analysis of Think-Alouds with High School Students.
复制标题

物理计算的程序理解:高中生大声思考的结构、功能和行为分析。

DOI:
10.1145/3430665.3456371
复制
发表时间:
2021
期刊:
Proceedings of the 26th ACM Conference on Innovation and Technology in Computer Science Education
影响因子:
--
通讯作者:
Kafai, Y. B.
Kafai, Y. B.
中科院分区:
--
文献类型:
--
作者:
Jayathirtha, G.;Kafai, Y. B.

文献摘要

相似文献

理解程序是学习编程的关键。以前的研究强调新手的天真的方法来理解程序的结构,功能和行为方面。然而,他们中的大多数人都在研究屏幕上的编程环境,我们几乎不知道物理计算中的程序理解-一个常见的K-12编程环境。在这项研究中,我们定性地分析了22名高中生单独理解一个给定的基于文本的Arduino程序,同时与其相应的功能物理工件互动的有声思维访谈视频,以回答两个问题:1)新手如何理解给定的基于文本的Arduino程序?2)物理伪影在程序理解中扮演什么角色?我们发现,新手大多是自下而上地接近程序,最初理解结构方面,然后是功能方面,沿着沿着不同的粒度。工件提供了两种不同的参与模式,主动和交互式,支持程序的结构和功能的理解。然而,行为理解,即理解程序执行导致观察到的结果是无法访问的许多。我们的研究结果从两个方面扩展了程序理解文献:(a)它提供了物理计算环境中高中生代码理解的极少数帐户之一,(B)它突出了物理工件在程序理解中的中介作用。此外,它们为物理计算中的未来教学和工具设计指明了方向,以更好地支持学生的分布式程序理解。
Comprehending programs is key to learning programming. Previous studies highlight novices' naive approaches to comprehending the structural, functional, and behavioral aspects of programs. And yet, with the majority of them examining on-screen programming environments, we barely know about program comprehension within physical computing-a common K-12 programming context. In this study, we qualitatively analyzed think-aloud interview videos of 22 high school students individually comprehending a given text-based Arduino program while interacting with its corresponding functional physical artifact to answer two questions: 1) How do novices comprehend the given text-based Arduino program? And, 2) What role does the physical artifact play in program comprehension? We found that novices mostly approached the program bottom-up, initially comprehending structural and later functional aspects, along different granularities. The artifact provided two distinct modes of engagement, active and interactive, that supported the program's structural and functional comprehension. However, behavioral comprehension i.e. understanding program execution leading to the observed outcome was inaccessible to many. Our findings extend program comprehension literature in two ways: (a) it provides one of the very few accounts of high school students' code comprehension in a physical computing context, and, (b) it highlights the mediating role of physical artifacts in program comprehension. Further, they point directions for future pedagogical and tool designs within physical computing to better support students' distributed program comprehension.