Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3059009.3059026acmconferencesArticle/Chapter ViewAbstractPublication PagesiticseConference Proceedingsconference-collections
research-article

Automatic Grading and Feedback using Program Repair for Introductory Programming Courses

Published: 28 June 2017 Publication History

Abstract

We present GradeIT, a system that combines the dual objectives of automated grading and program repairing for introductory programming courses (CS1). Syntax errors pose a significant challenge for testcase-based grading as it is difficult to differentiate between a submission that is almost correct and has some minor syntax errors and another submission that is completely off-the-mark. GradeIT also uses program repair to help in grading submissions that do not compile. This enables running testcases on submissions containing minor syntax errors, thereby awarding partial marks for these submissions (which, without repair, do not compile successfully and, hence, do not pass any testcase). Our experiments on 15613 submissions show that GradeIT results are comparable to manual grading by teaching assistants (TAs), and do not suffer from unintentional variability that happens when multiple TAs grade the same assignment. The repairs performed by GradeIT enabled successful compilation of 56% of the submissions having compilation errors, and resulted in an improvement in marks for 11% of these submissions.

References

[1]
A. V. Aho, M. S. Lam, R. Sethi, and J. D. Ullman. Compilers: Principles, Techniques, and Tools. 2006.
[2]
C. Benac Earle, L. Fredlund, and J. Hughes. Automatic grading of programming exercises using property-based testing. In ITiCSE, 2016.
[3]
S. Bhatia and R. Singh. Automated correction for syntax errors in programming assignments using recurrent neural networks. CoRR, abs/1603.06129, 2016.
[4]
J. Burnim and K. Sen. Heuristics for scalable dynamic test generation. In Automated Software Engineering, 2008.
[5]
C. Cadar, D. Dunbar, and D. Engler. Klee: Unassisted and automatic generation of high-coverage tests for complex systems programs. In OSDI, 2008.
[6]
Clang. http://clang.llvm.org/.
[7]
Codechef. https://www.codechef.com/.
[8]
Z. Dadachanji. Automated feedback and grading for programs in introductory programming courses. M. Tech. thesis, Indian Institute of Technology Kanpur, India, 2016.
[9]
R. Das, U. Z. Ahmed, A. Karkare, and S. Gulwani. Prutor: A system for tutoring CS1 and collecting student programs for analysis. CoRR, abs/1608.03828, 2016.
[10]
J. Gao, B. Pang, and S. S. Lumetta. Automated feedback framework for introductory programming courses. In ITiCSE, 2016.
[11]
E. L. Glassman, J. Scott, R. Singh, P. J. Guo, and R. C. Miller. Overcode: Visualizing variation in student solutions to programming problems at scale. ACM Trans. Comput.-Hum. Interact., 2015.
[12]
S. Gulwani, I. Radicek, and F. Zuleger. Feedback generation for performance problems in introductory programming assignments. CoRR, abs/1403.4064, 2014.
[13]
S. Gulwani, I. Radicek, and F. Zuleger. Automated clustering and program repair for introductory programming assignments. CoRR, abs/1603.03165, 2016.
[14]
R. Gupta, S. Pal, A. Kanade, and S. Shevade. DeepFix: Fixing common C language errors by deep learning. In AAAI, 2017.
[15]
S. Kaleeswaran, A. Santhiar, A. Kanade, and S. Gulwani. Semi-supervised verified feedback generation. In FSE, 2016.
[16]
A. Nguyen, C. Piech, J. Huang, and L. Guibas. Codewebs: Scalable homework search for massive open online programming courses. In World Wide Web, 2014.
[17]
M.-H. Nienaltowski, M. Pedroni, and B. Meyer. Compiler error messages: What can help novices? SIGCSE Bull., 2008.
[18]
M. Peveler, J. Tyler, S. Breese, B. Cutler, and A. Milanova. Submitty: An open source, highly-configurable platform for grading of programming assignments. In SIGCSE, 2017.
[19]
Y. Pu, K. Narasimhan, A. Solar-Lezama, and R. Barzilay. sk_p: a neural program corrector for MOOCs. CoRR, abs/1607.02902, 2016.
[20]
P. K. Singh. Automated repair of programs in introductory programming courses. M. Tech. thesis, Indian Institute of Technology Kanpur, India, 2016.
[21]
R. Singh, S. Gulwani, and A. Solar-Lezama. Automated feedback generation for introductory programming assignments. In PLDI, 2013.
[22]
Topcoder competitive programming. https://www.topcoder.com/community/competitive-programming/.
[23]
V. J. Traver. On compiler error messages: What they say and what they mean. Adv. in Hum.-Comp. Int., 2010.

Cited By

View all
  • (2024)Assessment Automation of Complex Student Programming AssignmentsEducation Sciences10.3390/educsci1401005414:1(54)Online publication date: 1-Jan-2024
  • (2024)Beyond Functional Correctness: An Exploratory Study on the Time Efficiency of Programming AssignmentsProceedings of the 46th International Conference on Software Engineering: Software Engineering Education and Training10.1145/3639474.3640065(320-330)Online publication date: 14-Apr-2024
  • (2024)Automated Grading and Feedback Tools for Programming Education: A Systematic ReviewACM Transactions on Computing Education10.1145/363651524:1(1-43)Online publication date: 19-Feb-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ITiCSE '17: Proceedings of the 2017 ACM Conference on Innovation and Technology in Computer Science Education
June 2017
412 pages
ISBN:9781450347044
DOI:10.1145/3059009
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 28 June 2017

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. automated grading
  2. cs1
  3. programming assignments

Qualifiers

  • Research-article

Conference

ITiCSE '17
Sponsor:

Acceptance Rates

ITiCSE '17 Paper Acceptance Rate 56 of 175 submissions, 32%;
Overall Acceptance Rate 552 of 1,613 submissions, 34%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)103
  • Downloads (Last 6 weeks)9
Reflects downloads up to 04 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Assessment Automation of Complex Student Programming AssignmentsEducation Sciences10.3390/educsci1401005414:1(54)Online publication date: 1-Jan-2024
  • (2024)Beyond Functional Correctness: An Exploratory Study on the Time Efficiency of Programming AssignmentsProceedings of the 46th International Conference on Software Engineering: Software Engineering Education and Training10.1145/3639474.3640065(320-330)Online publication date: 14-Apr-2024
  • (2024)Automated Grading and Feedback Tools for Programming Education: A Systematic ReviewACM Transactions on Computing Education10.1145/363651524:1(1-43)Online publication date: 19-Feb-2024
  • (2024)Learning with Style: Improving Student Code-Style Through Better Automated FeedbackProceedings of the 55th ACM Technical Symposium on Computer Science Education V. 110.1145/3626252.3630889(1175-1181)Online publication date: 7-Mar-2024
  • (2024)VG: Automatic Grading of D3 VisualizationsIEEE Transactions on Visualization and Computer Graphics10.1109/TVCG.2023.332718130:1(617-627)Online publication date: 1-Jan-2024
  • (2024)A Clustering-Based Computational Model to Group Students With Similar Programming Skills From Automatic Source Code Analysis Using Novel FeaturesIEEE Transactions on Learning Technologies10.1109/TLT.2023.327392617(428-444)Online publication date: 2024
  • (2024)Marking: Visual Grading with Highlighting Errors and Annotating Missing BitsArtificial Intelligence in Education10.1007/978-3-031-64302-6_22(309-323)Online publication date: 2-Jul-2024
  • (2023)Automatic feedback and assessment of team-coding assignments in a DevOps contextInternational Journal of Educational Technology in Higher Education10.1186/s41239-023-00386-620:1Online publication date: 24-Mar-2023
  • (2023)Evaluating the Quality of LLM-Generated Explanations for Logical Errors in CS1 Student ProgramsProceedings of the 16th Annual ACM India Compute Conference10.1145/3627217.3627233(49-54)Online publication date: 9-Dec-2023
  • (2023)Effects of Automated Feedback in Scratch Programming TutorialsProceedings of the 2023 Conference on Innovation and Technology in Computer Science Education V. 110.1145/3587102.3588803(396-402)Online publication date: 29-Jun-2023
  • Show More Cited By

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media