Skip to main content

Abstract

Manually grading programming assignments is time consuming and tedious, especially if they are incorrect and incomplete. Most existing automated grading systems use testing or program analysis. These systems rely on a single reference solution and award no marks to submissions that differ from the reference solution. In this research, we introduce an automated grading model LetGrade. LetGrade is a supervised machine learning-based mechanism for automatically identifying the approach of solving and grading a student’s submission. The method looks for a score of the similarities between the submitted solution and multiple correct solutions available to determine the solution’s approach. The calculated similarity score is then entered into a pretrained supervised machine learning model that grades the submission. Our models were evaluated against datasets containing Python and C programming problems. The average variance in the grade predicted by the supervised machine learning model is consistently close to 0.5. This indicates that the models can accurately predict the grade within a \(10\%\) margin of error.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Douce, C., Livingstone, D., Orwell, J.: Automatic test-based assessment of programming: a review. J. Educ. Res. Comput. (JERIC) 5(3), 4-es (2005)

    Article  Google Scholar 

  2. Goswami, N., Baths, V., Bandyopadhyay, S.: AES: automated evaluation systems for computer programing course. In: Proceedings of the 14th International Conference on Software Technologies, pp. 508–513 (2019)

    Google Scholar 

  3. HackerRank: Hackerrank (April). http://hackerrank.com

  4. Jackson, D.: A software system for grading student computer programs. Comput. Educ. 27(3–4), 171–180 (1996)

    Article  Google Scholar 

  5. Joy, M., Griffiths, N., Boyatt, R.: The boss online submission and assessment system. J. Educ. Resour. Comput. (JERIC) 5(3), 2-es (2005)

    Article  Google Scholar 

  6. von Matt, U.: Kassandra: the automatic grading system 22(1) (1994). https://doi.org/10.1145/182107.182101

  7. Naudé, K.A., Greyling, J.H., Vogts, D.: Marking student programs using graph similarity. Comput. Educ. 54(2), 545–561 (2010)

    Article  Google Scholar 

  8. Singh, G., Srikant, S., Aggarwal, V.: Question independent grading using machine learning: the case of computer program grading. In: Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, pp. 263–272 (2016)

    Google Scholar 

  9. Singh, R., Gulwani, S., Solar-Lezama, A.: Automated feedback generation for introductory programming assignments. In: Proceedings of the 34th ACM SIGPLAN Conference on Programming Language Design and Implementation, pp. 15–26 (2013)

    Google Scholar 

  10. Srikant, S., Aggarwal, V.: A system to grade computer programming skills using machine learning. In: Proceedings of the 20th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, pp. 1887–1896 (2014)

    Google Scholar 

  11. Verma, A., Udhayanan, P., Shankar, R.M., KN, N., Chakrabarti, S.K.: Source-code similarity measurement: syntax tree fingerprinting for automated evaluation. In: The First International Conference on AI-ML-Systems, pp. 1–7 (2021)

    Google Scholar 

  12. Wang, T., Su, X., Wang, Y., Ma, P.: Semantic similarity-based grading of student programs. Inf. Software Technol. 49(2), 99–107 (2007)

    Article  Google Scholar 

  13. Wick, M., Stevenson, D., Wagner, P.: Using testing and Junit across the curriculum. ACM SIGCSE Bull. 37(1), 236–240 (2005)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding authors

Correspondence to K. N. Nikhila or Sujit Kumar Chakrabarti .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2022 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Nikhila, K.N., Chakrabarti, S.K. (2022). LetGrade: An Automated Grading System for Programming Assignments. In: Rodrigo, M.M., Matsuda, N., Cristea, A.I., Dimitrova, V. (eds) Artificial Intelligence in Education. Posters and Late Breaking Results, Workshops and Tutorials, Industry and Innovation Tracks, Practitioners’ and Doctoral Consortium. AIED 2022. Lecture Notes in Computer Science, vol 13356. Springer, Cham. https://doi.org/10.1007/978-3-031-11647-6_75

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-11647-6_75

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-11646-9

  • Online ISBN: 978-3-031-11647-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics