Analyzing the Quality of Submissions in Online Programming Courses
Maria Tigina, Anastasiia Birillo, Yaroslav Golubev, Hieke Keuning,, Nikolay Vyahhi, Timofey Bryksin

TL;DR
This paper analyzes over two million code submissions from an online programming platform to identify common quality issues, student behaviors in fixing them, and implications for improving online programming education.
Contribution
It provides a large-scale analysis of code quality issues in online courses and insights into student fixing behaviors, informing better course design and assessment tools.
Findings
Identified prevalent code quality issues in Java and Python submissions.
Analyzed student behaviors in fixing code issues over multiple attempts.
Highlighted the need to design tasks that discourage poor coding practices.
Abstract
Programming education should aim to provide students with a broad range of skills that they will later use while developing software. An important aspect in this is their ability to write code that is not only correct but also of high quality. Unfortunately, this is difficult to control in the setting of a massive open online course. In this paper, we carry out an analysis of the code quality of submissions from JetBrains Academy - a platform for studying programming in an industry-like project-based setting with an embedded code quality assessment tool called Hyperstyle. We analyzed more than a million Java submissions and more than 1.3 million Python submissions, studied the most prevalent types of code quality issues and the dynamics of how students fix them. We provide several case studies of different issues, as well as an analysis of why certain issues remain unfixed even after…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Online Learning and Analytics · Software Engineering Techniques and Practices
