自动为 Scratch 程序生成问题
软件工程
2025-10-14 v1
摘要
在编程学习中,学生通常根据其所编写的代码进行评估。然而,仅完成编程任务并不保证对底层概念的实际理解。因此,有人提出通过询问关于其所编写代码的问题来评估程序理解能力。由于为单个学生程序创建针对性问题既繁琐又具挑战性,先前的工作提出了自动生成此类问题的方法。本文将这一想法推广到基于块的编程语言 Scratch 中。我们提出了一套包含 30 种不同问题的集合,这些问题涵盖了既定的程序理解模型,并扩展了用于自动生成 Scratch 程序对应问题的 LitterBox 静态分析工具。在 600,913 个项目的数据集上,我们自动生成了 54,118,694 个问题。我们的初始实验使用 34 名九年级学生,表明该方法确实可以为 Scratch 程序生成有意义的问题,我们发现学生对这些问题的回答能力与其整体表现相关。
引用
@article{arxiv.2510.11658,
title = {Automatically Generating Questions About Scratch Programs},
author = {Florian Obermüller and Gordon Fraser},
journal= {arXiv preprint arXiv:2510.11658},
year = {2025}
}
备注
Accepted at CompEd 2025