TY - GEN
T1 - Using Machine Learning to Identify Patterns in Learner-Submitted Code for the Purpose of Assessment
AU - Tarcsay, Botond
AU - Perez-Tellez, Fernando
AU - Vasic, Jelena
N1 - Publisher Copyright:
© 2023, The Author(s), under exclusive license to Springer Nature Switzerland AG.
PY - 2023
Y1 - 2023
N2 - Programming has become an important skill in today’s world and is taught widely both in traditional and online settings. Instructors need to grade increasing amounts of student work. Unit testing can contribute to the automation of the grading process but it cannot assess the structure or partial correctness of code, which is needed for finely differentiated grading. This paper builds on previous research that investigated machine learning models for determining the correctness of programs from token-based features of source code and found that some such models can be successful in classifying source code with respect to whether it passes unit tests. This paper makes two further contributions. First, these results are scrutinized under conditions of varying similarity between code instances used for model training and testing, for a better understanding of how well the models generalize. It was found that the models do not generalize outside of groups of code instances performing very similar tasks (corresponding to similar coding assignments). Second, selected binary classification models are used as a base for multi-class prediction with two different methods. Both of these exhibit prediction success well above the random baseline, with potential to contribute to automated assessment with multi-valued measures of quality (grading schemes), in contrast to the binary pass/fail measure associated with unit testing.
AB - Programming has become an important skill in today’s world and is taught widely both in traditional and online settings. Instructors need to grade increasing amounts of student work. Unit testing can contribute to the automation of the grading process but it cannot assess the structure or partial correctness of code, which is needed for finely differentiated grading. This paper builds on previous research that investigated machine learning models for determining the correctness of programs from token-based features of source code and found that some such models can be successful in classifying source code with respect to whether it passes unit tests. This paper makes two further contributions. First, these results are scrutinized under conditions of varying similarity between code instances used for model training and testing, for a better understanding of how well the models generalize. It was found that the models do not generalize outside of groups of code instances performing very similar tasks (corresponding to similar coding assignments). Second, selected binary classification models are used as a base for multi-class prediction with two different methods. Both of these exhibit prediction success well above the random baseline, with potential to contribute to automated assessment with multi-valued measures of quality (grading schemes), in contrast to the binary pass/fail measure associated with unit testing.
KW - Applied Machine Learning for Code Assessment
KW - Automated Grading
KW - Student Programming Code Grading
UR - https://www.scopus.com/pages/publications/85164261529
U2 - 10.1007/978-3-031-33783-3_5
DO - 10.1007/978-3-031-33783-3_5
M3 - Conference contribution
AN - SCOPUS:85164261529
SN - 9783031337826
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 47
EP - 57
BT - Pattern Recognition - 15th Mexican Conference, MCPR 2023, Proceedings
A2 - Rodríguez-González, Ansel Yoan
A2 - Pérez-Espinosa, Humberto
A2 - Martínez-Trinidad, José Francisco
A2 - Carrasco-Ochoa, Jesús Ariel
A2 - Olvera-López, José Arturo
PB - Springer Science and Business Media Deutschland GmbH
T2 - 15th Mexican Conference on Pattern Recognition, MCPR 2023
Y2 - 21 June 2023 through 24 June 2023
ER -