Tracking Students' Cognitive Processes During Program Debugging-An Eye-Movement Approach

Tracking Students' Cognitive Processes During Program Debugging-An Eye-Movement Approach
复制标题

DOI:
10.1109/te.2015.2487341
复制
发表时间:
2016-08-01
影响因子:
2.6
通讯作者:
Chang, Chia-Hu
Chang, Chia-Hu
中科院分区:
工程技术3区
文献类型:
--
作者:
Lin, Yu-Tzu;Wu, Cheng-Chih;Chang, Chia-Hu

文献摘要

被引文献

相似文献

这项研究探索了学生在使用眼球跟踪器调试程序时的认知过程。眼球跟踪器记录了学生在调试过程中的眼动,以调查高成绩学生和低成绩学生在调试过程中是否以及如何表现不同。38名计算机科学本科生被要求调试两个C程序。对学生在遵循程序代码时的凝视路径进行了顺序分析,以揭示被检查区域的显著顺序。然后将这些重要的凝视路径序列与不同调试成绩的学生的凝视路径序列进行比较。结果表明,在调试过程中,表现优异的学生对程序的追踪更具逻辑性,而表现较差的学生则倾向于一行一行的顺序,无法快速推导出程序的更高层次的逻辑。表现不佳的学生也经常直接跳到某些可疑的语句来寻找错误,而不遵循程序的逻辑。他们还经常需要追溯到之前的语句来回忆信息,并且花费更多的时间在手动计算上。根据研究结果,可以为不同成绩水平的学生开发适应性的教学策略和教材,以改善调试过程中的相关认知活动,从而促进调试和编程过程中的学习。
This study explores students' cognitive processes while debugging programs by using an eye tracker. Students' eye movements during debugging were recorded by an eye tracker to investigate whether and how high- and low-performance students act differently during debugging. Thirty-eight computer science undergraduates were asked to debug two C programs. The path of students' gaze while following program codes was subjected to sequential analysis to reveal significant sequences of areas examined. These significant gaze path sequences were then compared to those of students with different debugging performances. The results show that, when debugging, high-performance students traced programs in a more logical manner, whereas low-performance students tended to stick to a line-by-line sequence and were unable to quickly derive the program's higher-level logic. Low-performance students also often jumped directly to certain suspected statements to find bugs, without following the program's logic. They also often needed to trace back to prior statements to recall information, and spent more time on manual computation. Based on the research results, adaptive instructional strategies and materials can be developed for students of different performance levels, to improve associated cognitive activities during debugging, which can foster learning during debugging and programming.