重新定义代码理解:函数命名作为评估代码理解的机制
计算机与社会
2025-03-18 v1
摘要
"用通俗英语解释"(EiPE)问题广泛用于评估代码理解能力,但难以自动评分。近期方法如基于代码生成的评分(CGBG)利用大语言模型(LLMs)根据学生解释生成代码,并通过单元测试验证其与原始代码的等价性。然而,该方法无法区分高层、目的导向的回答和低层、面向实现的回答,从而限制了其在评估理解深度方面的有效性。我们提出了一种改进方法,要求学生生成函数名称,强调函数的目的而非实现细节。我们在一门入门编程课程中评估了该方法,并使用项目反应理论(IRT)分析其作为考题的有效性及其与传统EiPE评分标准的一致性。我们还以开源 Python 包的形式发布该工作,用于自动评分 EiPE 问题,为规模化应用提供了可行方案。
引用
@article{arxiv.2503.12207,
title = {ReDefining Code Comprehension: Function Naming as a Mechanism for Evaluating Code Comprehension},
author = {David H. Smith and Max Fowler and Paul Denny and Craig Zilles},
journal= {arXiv preprint arXiv:2503.12207},
year = {2025}
}