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 条
  • [41] Teaching Problem Solving Skills using an Educational Game in a Computer Programming Course
    Mathew, Roy
    Malik, Sohail Iqbal
    Tawafak, Ragad Moufaq
    INFORMATICS IN EDUCATION, 2019, 18 (02): : 359 - 373
  • [42] Improving Programming Skills using Computer based Feedback and Peer Group Competition
    Grotz, Norbert
    PROCEEDINGS OF 2016 IEEE GLOBAL ENGINEERING EDUCATION CONFERENCE (EDUCON2016), 2016, : 585 - 591
  • [43] A Teaching System To Learn Programming: the Programmer's Learning Machine
    Quinson, Martin
    Oster, Gerald
    ITICSE'15: PROCEEDINGS OF THE 2015 ACM CONFERENCE ON INNOVATION AND TECHNOLOGY IN COMPUTER SCIENCE EDUCATION, 2015, : 260 - 265
  • [44] Machine Learning Based System for the Control and Evaluation of Programming Vulnerabilities
    Alonso-Garcia, Maria
    Fuente-Alonso, Ruben
    Corchado, Juan M.
    AMBIENT INTELLIGENCE-SOFTWARE AND APPLICATIONS-13TH INTERNATIONAL SYMPOSIUM ON AMBIENT INTELLIGENCE, 2023, 603 : 179 - 186
  • [45] COMPUTER PROGRAMMING SYSTEM USING CONTINUOUS SPEECH INPUT
    HOLDEN, ADC
    STRASBOURGER, E
    IEEE TRANSACTIONS ON ACOUSTICS SPEECH AND SIGNAL PROCESSING, 1976, 24 (06): : 579 - 582
  • [46] Teaching and Learning Computer Science Soft Skills Using Soft Skills: The Students' Perspective
    Hazzan, Orit
    Har-Shai, Gadi
    PROCEEDINGS OF THE 45TH ACM TECHNICAL SYMPOSIUM ON COMPUTER SCIENCE EDUCATION (SIGCSE'14), 2014, : 567 - 572
  • [47] Learning to Teach Computer Programming
    Linn, Marcia C.
    FIFTH INTERNATIONAL COMPUTING EDUCATION RESEARCH WORKSHOP - ICER 2009, 2009, : 1 - 1
  • [48] Sustainable Learning of Computer Programming Languages Using Mind Mapping
    Gul, Shahla
    Asif, Muhammad
    Nawaz, Zubair
    Aziz, Muhammad Haris
    Khurram, Shahzada
    Saleem, Muhammad Qaiser
    Habib, Elturabi Osman Ahmed
    Sha, Muhammad
    Sheta, Osama E.
    INTELLIGENT AUTOMATION AND SOFT COMPUTING, 2023, 36 (02): : 1687 - 1697
  • [49] Conditions for Successful Learning of Programming Skills
    Holvikivi, Jaana
    KEY COMPETENCIES IN THE KNOWLEDGE SOCIETY, 2010, 324 : 155 - 164
  • [50] Conditions for successful learning of programming skills
    Holvikivi J.
    IFIP Advances in Information and Communication Technology, 2010, 324 : 155 - 164