自动识别学生编程逻辑错误,助力精准教学。
Automated Identification of Logical Errors in Programs: Advancing Scalable Analysis of Student Misconceptions
- 基于树注意力的代码结构分析模型,定位错误代码段。
- 准确捕捉学生逻辑错误,揭示学习难点。
- 适合教育研究者与智能辅导系统开发者使用。
在计算机科学教育中,理解导致学生编程困难的因素对提供有效学习支持至关重要。通过识别学生面临的具体问题,教师可提供针对性帮助以克服障碍并提升学习效果。尽管实时识别学习困境在当前教育实践中仍具挑战性,但分析学生代码中的逻辑错误可提供宝贵洞见。本文提出一种可扩展的框架,用于自动检测学生编程解决方案中的逻辑错误。该框架基于可解释的抽象语法树(AST)嵌入模型——子树注意力神经网络(SANN),能够识别包含逻辑错误的程序结构组件。我们开展了一系列实验评估其有效性,结果表明该框架不仅能准确捕捉学生的逻辑错误,更重要的是为理解其学习过程提供了深层洞察,为提升编程教育质量提供了有力工具。
原文摘要 · Abstract (English)
In Computer Science (CS) education, understanding factors contributing to students' programming difficulties is crucial for effective learning support. By identifying specific issues students face, educators can provide targeted assistance to help them overcome obstacles and improve learning outcomes. While identifying sources of struggle, such as misconceptions, in real-time can be challenging in current educational practices, analyzing logical errors in students' code can offer valuable insights. This paper presents a scalable framework for automatically detecting logical errors in students' programming solutions. Our framework is based on an explainable Abstract Syntax Tree (AST) embedding model, the Subtree-based Attention Neural Network (SANN), that identifies the structural components of programs containing logical errors. We conducted a series of experiments to evaluate its effectiveness, and the results suggest that our framework can accurately capture students' logical errors and, more importantly, provide us with deeper insights into their learning processes, offering a valuable tool for enhancing programming education.
Thank you to arXiv for use of its open access interoperability. PaperDance 不是 arXiv 官方产品;中文卡片由大模型生成,请以原文为准。