Skip to main content
QUICK REVIEW

[论文解读] Automatic Assessment of the Design Quality of Python Programs with Personalized Feedback

J. Walker Orr, Nathaniel Russell|arXiv (Cornell University)|Jun 2, 2021
Software Engineering Research参考文献 11被引用 6
一句话总结

该论文提出了一种神经网络集成模型,通过抽象语法树(AST)特征自动评估Python程序的设计质量,并通过将程序特征与高质量示例进行对比,生成个性化反馈。该系统在预测教师评定的设计评分方面准确率达83.67%至94.27%,在应用反馈后,学生程序设计评分平均提升19.58%。

ABSTRACT

The assessment of program functionality can generally be accomplished with straight-forward unit tests. However, assessing the design quality of a program is a much more difficult and nuanced problem. Design quality is an important consideration since it affects the readability and maintainability of programs. Assessing design quality and giving personalized feedback is very time consuming task for instructors and teaching assistants. This limits the scale of giving personalized feedback to small class settings. Further, design quality is nuanced and is difficult to concisely express as a set of rules. For these reasons, we propose a neural network model to both automatically assess the design of a program and provide personalized feedback to guide students on how to make corrections. The model's effectiveness is evaluated on a corpus of student programs written in Python. The model has an accuracy rate from 83.67% to 94.27%, depending on the dataset, when predicting design scores as compared to historical instructor assessment. Finally, we present a study where students tried to improve the design of their programs based on the personalized feedback produced by the model. Students who participated in the study improved their program design scores by 19.58%.

研究动机与目标

  • 为解决教育环境中手动评估程序设计质量耗时且依赖上下文的挑战。
  • 开发一种基于AST特征的自动化系统,以高精度预测设计质量评分。
  • 生成可解释的个性化反馈,指导学生改进程序设计。
  • 通过控制实验评估反馈在提升学生学习成果方面的有效性。
  • 探索为特定作业训练模型的可行性,并利用集成学习提升稳定性和性能。

提出的方法

  • 该模型使用前馈神经网络集成,基于学生程序的AST表示预测0到1之间的设计质量评分。
  • 每个输入特征均来自对AST的统计分析,如函数长度、参数数量以及全局变量的使用情况,确保可解释性。
  • 通过将学生程序中每个特征的取值与高分程序的平均值进行比较,生成个性化反馈,建议增加或减少特定特征以提升设计质量。
  • 系统采用模型集成以提高预测稳定性,尤其在复杂或可变的数据集(如'Craps')上表现更优。
  • 按作业分别训练模型,以适应特定上下文的设计标准,从而提升准确性和相关性。
  • 反馈以人类可读的注释形式呈现,明确指出需调整的特征,使学生能够采取具体改进措施。

实验结果

研究问题

  • RQ1神经网络模型能否准确预测教师评定的学生Python程序设计质量?
  • RQ2神经网络集成模型在设计质量预测中的表现与单模型及传统回归方法相比如何?
  • RQ3基于特征对比的个性化反馈在多大程度上能提升学生程序设计评分?
  • RQ4为特定作业训练模型是否比使用单一通用模型获得更高的预测准确率?
  • RQ5在设计期望各异的多样化编程作业中,模型预测的稳定性和可靠性如何?

主要发现

  • 神经网络集成模型在不同数据集上的预测准确率介于83.67%至94.27%之间,'Travel'和'Budget'作业的准确率最高。
  • 集成模型在'Craps'数据集上显著优于单个神经网络和线性回归模型,误差降低5%。
  • 获得个性化反馈的学生,其程序设计评分平均提升19.58%,且p值为0.001,具有统计显著性。
  • 反馈应用后,学生在全局变量使用和'魔法数字'等常见设计缺陷方面有明显减少。
  • 按作业分别训练模型的性能优于单一通用模型,表明上下文特定校准对准确性至关重要。
  • 该系统的反馈有效且可解释,学生能够根据特征层面的建议进行有针对性的改进。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。