A System to Grade Computer Programming Skills using Machine Learning

被引:42
|
作者
Srikant, Shashank [1 ]
Aggarwal, Varun [1 ]
机构
[1] Aspiring Minds, Boston, MA 02108 USA
关键词
Recruitment; Automatic grading; MOOC; Feature engineering; Supervised learning; One-class learning;
D O I
10.1145/2623330.2623377
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
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 machine-learning 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.
引用
收藏
页码:1887 / 1896
页数:10
相关论文
共 50 条
  • [21] The impact of a year of computer assisted instruction on the development of first grade learning skills
    Erdner, RA
    Guy, RF
    Bush, A
    JOURNAL OF EDUCATIONAL COMPUTING RESEARCH, 1998, 18 (04) : 369 - 386
  • [22] A gamified web based system for computer programming learning
    Polito G.
    Temperini M.
    Temperini, Marco (marte@diag.uniroma1.it), 1600, Elsevier B.V. (02):
  • [23] Learning to Grade Short Answers using Machine Learning Techniques
    Krithika, R.
    Narayanan, Jayasree
    PROCEEDING OF THE THIRD INTERNATIONAL SYMPOSIUM ON WOMEN IN COMPUTING AND INFORMATICS (WCI-2015), 2015, : 262 - 271
  • [24] Learning by competitions:: Olympiads in informatics as a tool for training high-grade skills in programming
    Dagiené, V
    Skupiene, J
    ITRE 2004: 2nd International Conference Information Technology: Research and Education, Proceedings, 2004, : 79 - 83
  • [25] Computer-aided diagnosis system for Rheumatoid Arthritis using machine learning
    Graduate School of Engineering, University of Hyogo, Hyogo, Japan
    不详
    Proc. Int. Conf. Mach. Learn. Cybern., ICMLC, 1600, (357-360):
  • [26] COMPUTER-AIDED DIAGNOSIS SYSTEM FOR RHEUMATOID ARTHRITIS USING MACHINE LEARNING
    Morit, Kento
    Tashita, Atsuki
    Nii, Manabu
    Kobashi, Syoji
    PROCEEDINGS OF 2017 INTERNATIONAL CONFERENCE ON MACHINE LEARNING AND CYBERNETICS (ICMLC), VOL 2, 2017, : 357 - 360
  • [27] A Computer Aided Diagnosis System for Thyroid Disease Using Extreme Learning Machine
    Li-Na Li
    Ji-Hong Ouyang
    Hui-Ling Chen
    Da-You Liu
    Journal of Medical Systems, 2012, 36 : 3327 - 3337
  • [28] A Computer Aided Diagnosis System for Thyroid Disease Using Extreme Learning Machine
    Li, Li-Na
    Ouyang, Ji-Hong
    Chen, Hui-Ling
    Liu, Da-You
    JOURNAL OF MEDICAL SYSTEMS, 2012, 36 (05) : 3327 - 3337
  • [29] Using Virtual Reality for Scaffolding Computer Programming Learning
    Singh, Gurjot
    VRST'17: PROCEEDINGS OF THE 23RD ACM SYMPOSIUM ON VIRTUAL REALITY SOFTWARE AND TECHNOLOGY, 2017,
  • [30] USING BLENDED LEARNING TO DIFFERENTIATE THE LEARNING PROCESS IN A COMPUTER PROGRAMMING COURSE
    Daehli, Olav
    9TH INTERNATIONAL CONFERENCE ON EDUCATION AND NEW LEARNING TECHNOLOGIES (EDULEARN17), 2017, : 1029 - 1039