Detecting Code Quality Issues in Pre-written Templates of Programming Tasks in Online Courses
Publication date
2023-06-29
Editors
Advisors
Supervisors
Document Type
Part of book
Metadata
Show full item recordCollections
License
taverne
Abstract
In this work, we developed an algorithm for detecting code quality issues in the templates of online programming tasks, validated it, and conducted an empirical study on the dataset of student solutions. The algorithm consists of analyzing recurring unfixed issues in solutions of different students, matching them with the code of the template, and then filtering the results. Our manual validation on a subset of tasks demonstrated a precision of 80.8% and a recall of 73.3%. We used the algorithm on 415 Java tasks from the JetBrains Academy platform and discovered that as much as 14.7% of tasks have at least one issue in their template, thus making it harder for students to learn good code quality practices. We describe our results in detail, provide several motivating examples and specific cases, and share the feedback of the developers of the platform, who fixed 51 issues based on the output of our approach.
Keywords
code formatting, code quality, large-scale analysis, learning programming, MOOC, programming education, refactoring, Taverne, Management of Technology and Innovation, Education
Citation
Birillo, A, Artser, E, Golubev, Y, Tigina, M, Keuning, H, Vyahhi, N & Bryksin, T 2023, Detecting Code Quality Issues in Pre-written Templates of Programming Tasks in Online Courses. in ITiCSE 2023 - Proceedings of the 2023 Conference on Innovation and Technology in Computer Science Education. Annual Conference on Innovation and Technology in Computer Science Education, ITiCSE, vol. 1, Association for Computing Machinery, pp. 152-158, 28th Annual Conference on Innovation and Technology in Computer Science Education, ITiCSE 2023, Turku, Finland, 8/07/23. https://doi.org/10.1145/3587102.3588800, conference