首页> 外文期刊>SIGKDD explorations >A System to Grade Computer Programming Skills using Machine Learning
【24h】

A System to Grade Computer Programming Skills using Machine Learning

机译:使用机器学习对计算机编程技能进行评分的系统

获取原文
获取原文并翻译 | 示例
获取外文期刊封面目录资料

摘要

The automatic evaluation of computer programs is a nascent area of research with a potential for large-scale impact. Extant program assessment systems score mostly based on the number of test-cases passed, providing no insight into the competency of the programmer. In this paper, we present a system to grade computer programs automatically. In addition to grading a program on its programming practices and complexity, the key kernel of the system is a machinelearning based algorithm which determines closeness of the logic of the given program to a correct program. This algorithm uses a set of highly-informative features, derived from the abstract representations of a given program, that capture the program's functionality. These features are then used to learn a model to grade the programs, which are built against evaluations done by experts. We show that the regression models provide much better grading than the ubiquitous test-case-pass based grading and rivals the grading accuracy of other open-response problems such as essay grading . We also show that our novel features add significant value over and above basic keyword/expression count features. In addition to this, we propose a novel way of posing computer-program grading as a one-class modeling problem and report encouraging preliminary results. We show the value of the system through a case study in a real-world industrial deployment. To the best of the authors' knowledge, this is the first time a system using machine learning has been developed and used for grading programs. The work is timely with regard to the recent boom in Massively Online Open Courseware (MOOCs), which promises to produce a significant amount of hand-graded digitized data.
机译:计算机程序的自动评估是一个新兴的研究领域,具有潜在的大规模影响。现有的程序评估系统的评分主要基于通过的测试用例的数量,无法深入了解程序员的能力。在本文中,我们提出了一种对计算机程序自动评分的系统。除了根据程序的编程实践和复杂性对程序进行评分外,系统的关键内核是基于机器学习的算法,该算法确定给定程序的逻辑与正确程序的接近程度。该算法使用从给定程序的抽象表示中派生的一组高度信息量的功能,这些功能可以捕获程序的功能。然后使用这些功能来学习对程序进行评分的模型,该模型是根据专家的评估而构建的。我们表明,回归模型比基于无处不在的测试用例通过的评分提供更好的评​​分,并且可以与其他开放式答题(如论文评分)的评分准确性相媲美。我们还表明,我们的新颖功能比基本的关键字/表达式计数功能具有更大的价值。除此之外,我们提出了一种新颖的方式将计算机程序评分视为一类建模问题,并报告了令人鼓舞的初步结果。我们通过在实际工业部署中的案例研究来展示系统的价值。据作者所知,这是首次开发使用机器学习的系统并将其用于评分程序。鉴于最近大规模在线开放课件(MOOC)的繁荣,这项工作是及时的,它有望产生大量手工分级的数字化数据。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号