Through (Tracking) Their Eyes: Abstraction and Complexity in Program Comprehension

Philipp Kather, Rodrigo Duran, J. Vahrenhold
{"title":"Through (Tracking) Their Eyes: Abstraction and Complexity in Program Comprehension","authors":"Philipp Kather, Rodrigo Duran, J. Vahrenhold","doi":"10.1145/3480171","DOIUrl":null,"url":null,"abstract":"Previous studies on writing and understanding programs presented evidence that programmers beyond a novice stage utilize plans or plan-like structures. Other studies on code composition showed that learners have difficulties with writing, reading, and debugging code where interacting plans are merged into a short piece of code. In this article, we focus on the question of how different code-composition strategies and the familiarity with code affect program comprehension on a more abstract, i.e., algorithmic level. Using an eye-tracking setup, we explored how advanced students comprehend programs and their underlying algorithms written in either a merged or abutted (sequenced) composition of code blocks of varying familiarity. The effects of familiarity and code composition were studied both isolated and in combination. Our analysis of the quantitative data adds to our understanding of the behavior reported in previous studies and the effects of plans and their composition on the programs’ difficulty. Using this data along with retrospective interviews, we analyze students’ reading patterns and provide support that subjects were able to form mental models of program execution during task performance. Furthermore, our results suggest that subjects are able to retrieve and create schemata when the program is composed of familiar templates, which may improve their performance; we found indicators for a higher element-interactivity for programs with a merged code composition compared to abutted code composition.","PeriodicalId":352564,"journal":{"name":"ACM Transactions on Computing Education (TOCE)","volume":"336 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2021-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"9","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"ACM Transactions on Computing Education (TOCE)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3480171","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 9

Abstract

Previous studies on writing and understanding programs presented evidence that programmers beyond a novice stage utilize plans or plan-like structures. Other studies on code composition showed that learners have difficulties with writing, reading, and debugging code where interacting plans are merged into a short piece of code. In this article, we focus on the question of how different code-composition strategies and the familiarity with code affect program comprehension on a more abstract, i.e., algorithmic level. Using an eye-tracking setup, we explored how advanced students comprehend programs and their underlying algorithms written in either a merged or abutted (sequenced) composition of code blocks of varying familiarity. The effects of familiarity and code composition were studied both isolated and in combination. Our analysis of the quantitative data adds to our understanding of the behavior reported in previous studies and the effects of plans and their composition on the programs’ difficulty. Using this data along with retrospective interviews, we analyze students’ reading patterns and provide support that subjects were able to form mental models of program execution during task performance. Furthermore, our results suggest that subjects are able to retrieve and create schemata when the program is composed of familiar templates, which may improve their performance; we found indicators for a higher element-interactivity for programs with a merged code composition compared to abutted code composition.
通过(跟踪)他们的眼睛:程序理解中的抽象和复杂性
先前关于编写和理解程序的研究表明,超过新手阶段的程序员使用计划或类似计划的结构。其他关于代码组合的研究表明,学习者在编写、阅读和调试交互计划合并为一小段代码的代码时存在困难。在本文中,我们关注的问题是不同的代码组合策略和对代码的熟悉程度如何影响更抽象的,即算法级别的程序理解。使用眼动追踪设置,我们探索了高级学生如何理解程序及其底层算法,这些程序是由不同熟悉程度的代码块合并或相邻(顺序)组成的。分别研究了熟悉度和编码组合的影响。我们对定量数据的分析增加了我们对先前研究中报告的行为的理解,以及计划及其组成对程序难度的影响。使用这些数据和回顾性访谈,我们分析了学生的阅读模式,并提供了支持,受试者能够在任务执行过程中形成程序执行的心理模型。此外,我们的研究结果表明,当程序由熟悉的模板组成时,受试者能够检索和创建模式,这可能会提高他们的表现;我们发现,与相邻代码组合相比,合并代码组合的程序具有更高的元素交互性。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约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学术文献互助群
群 号:604180095
Book学术官方微信