Proof Blocks is a software tool that allows students to practice writing mathematical proofs by dragging and dropping lines instead of writing proofs from scratch. Proof Blocks offers the capability of assigning partial credit and providing solution quality feedback to students. This is done by computing the edit distance from a student's submission to some predefined set of solutions. In this work, we propose an algorithm for the edit distance problem that significantly outperforms the baseline procedure of exhaustively enumerating over the entire search space. Our algorithm relies on a reduction to the minimum vertex cover problem. We benchmark our algorithm on thousands of student submissions from multiple courses, showing that the baseline algorithm is intractable, and that our proposed algorithm is critical to enable classroom deployment. Our new algorithm has also been used for problems in many other domains where the solution space can be modeled as a DAG, including but not limited to Parsons Problems for writing code, helping students understand packet ordering in networking protocols, and helping students sketch solution steps for physics problems. Integrated into multiple learning management systems, the algorithm serves thousands of students each year.
翻译:Proof Blocks是一种软件工具,允许学生通过拖放语句行而非从头编写证明来练习数学证明撰写。该工具具备分配部分分数及向学生提供解答质量反馈的能力,其实现方式为计算学生提交结果与预设解答集之间的编辑距离。本文针对该编辑距离问题提出一种算法,其性能显著优于穷举整个搜索空间的基线方法。该算法通过归约至最小顶点覆盖问题实现。我们基于多门课程中数千份学生提交结果对算法进行基准测试,结果表明基线算法不可行,而所提算法对课堂部署至关重要。该新算法亦适用于其他众多领域中求解空间可建模为有向无环图(DAG)的问题,包括但不限于编程领域的Parsons问题、帮助学生理解网络协议中数据包排序的练习,以及辅助学生构建物理问题解决步骤等。该算法已集成至多个学习管理系统,每年服务数千名学生。