中文

新手程序员认为自动化修复工具的反馈有多大帮助?

计算机与社会 2024-02-02 v2 软件工程

摘要

已有研究表明,即时反馈能够改善学生的学习效果。在编程课程中,即时、自动化的反馈通常以提交平台运行预定义测试用例的形式提供。尽管这些测试擅长揭示逻辑错误的存在,却未能为新手程序员提供足够的支架以帮助他们定位错误所在或如何修复。为此,已有若干工具被开发出来,以程序修复的形式提供更丰富的反馈。然而,对此类工具的研究往往更关注能否生成正确的修复,而非新手如何使用它们。本文描述了我们使用自动化修复工具CLARA为新手指供反馈的经验。首先,我们扩展了CLARA以支持更大子集的Python语言,随后将其与用于编程练习的Jupyter Notebooks集成。其次,我们设计了一项初步研究,学生采用“出声思考”协议,在有无该工具支持的情况下解决编程问题。我们发现新手常常难以理解所提出的修复方案,这呼应了理解编译器/解释器报错信息这一众所周知的挑战。此外,我们发现学生看重被告知何处需要修复——未必需要修复本身——这表明从教学角度看“少即是多”。

关键词

引用

@article{arxiv.2310.00954,
  title  = {How Helpful do Novice Programmers Find the Feedback of an Automated Repair Tool?},
  author = {Oka Kurniawan and Christopher M. Poskitt and Ismam Al Hoque and Norman Tiong Seng Lee and Cyrille Jégourel and Nachamma Sockalingam},
  journal= {arXiv preprint arXiv:2310.00954},
  year   = {2024}
}

备注

Experience report accepted by the International Conference on Teaching, Assessment, and Learning for Engineering (TALE'23)