一句话:提出概念图匹配方法,使 CS-1 作业自动评分更贴近人工评分并支持反馈。
随着计算机专业招生规模扩大,入门编程课程作业评分给教学资源带来压力。传统自动评分多基于测试套件通过数,难以充分反映学生对解题所需编程概念的掌握。本文提出概念图,即一种抽象控制流图,从学生解与参考解中抽取概念图,并进行概念图匹配和差异概念比较。作者在公开数据集上对 1540 份学生提交进行实验,结果表明基于概念的评分比基于测试的评分更接近助教人工评分;概念图还可用于为学习困难学生提供反馈,这一用途得到助教用户研究的确认。
Due to the increasing enrolments in Computer Science programs, teaching of introductory programming needs to be scaled up. This places significant strain on teaching resources for programming courses for tasks such as grading of submitted programming assignments. Conventional attempts at automated grading of programming assignment rely on test-based grading which assigns scores based on the number of passing tests in a given test-suite. Since test-based grading may not adequately capture the student's understanding of the programming concepts needed to solve a programming task, we propose the notion of a concept graph which is essentially an abstracted control flow graph. Given the concept graphs extracted from a student's solution and a reference solution, we define concept graph matching and comparing of differing concepts. Our experiments on 1540 student submissions from a publicly available dataset show the efficacy of concept-based grading vis-a-vis test-based grading. Specifically, the concept based grading is (experimentally) shown to be closer to the grade manually assigned by the tutor. Apart from grading, the concept graph used by our approach is also useful for providing feedback to struggling students, as confirmed by our user study among tutors.