Analyzing the Quality of Submissions in Online Programming Courses
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 several attempts. Also, we studied abnormally long sequences of submissions, in which students attempted to fix code quality issues after passing the task. Our results point the way towards the improvement of online courses, such as making sure that the task itself does not incentivize students to write code poorly.
Fri 19 MayDisplayed time zone: Hobart change
15:45 - 17:15 | SE education methods and toolsTechnical Track / SEET - Software Engineering Education and Training at Meeting Room 101 Chair(s): Andrew Begel Carnegie Mellon University | ||
15:45 15mTalk | On the Applicability of Language Models to Block-Based Programs Technical Track Elisabeth Griebl University of Passau, Benedikt Fein University of Passau, Florian Obermueller University of Passau, Gordon Fraser University of Passau, René Just University of Washington | ||
16:00 15mTalk | Improving Grading Outcomes in Software Engineering Projects Through Automated Contributions Summaries SEET - Software Engineering Education and Training Kai Presler-Marshall Bowdoin College, Sarah Heckman North Carolina State University, Kathryn Stolee North Carolina State University | ||
16:15 15mTalk | Analyzing the Quality of Submissions in Online Programming Courses SEET - Software Engineering Education and Training Maria Tigina JetBrains Research, Anastasiia Birillo JetBrains Research, Yaroslav Golubev JetBrains Research, Hieke Keuning Utrecht University, Nikolay Vyahhi Stepik, Timofey Bryksin JetBrains Research Pre-print | ||
16:30 15mTalk | A Metric for Measuring Software Engineering Post-Graduate Outcomes SEET - Software Engineering Education and Training | ||
16:45 7mTalk | Using Focus to Personalise Learning and Feedback in Software Engineering Education SEET - Software Engineering Education and Training Bansri Amish Modi School of Information Technology, Deakin University, Andrew Cain School of Information Technology, Deakin University, Guy Wood-Bradley Deakin University, Jake Renzella University of New South Wales, Sydney | ||
16:52 7mTalk | Shaping a Tool for Developing Computing Students’ Professional Identity - Industry Perspectives SEET - Software Engineering Education and Training Laura Tubino Deakin University, Kerri Morgan Deakin University, Guy Wood-Bradley Deakin University, Andrew Cain School of Information Technology, Deakin University | ||
17:00 7mTalk | REFERENT: Transformer based Feedback Generation using Assignment Information for Programming Course SEET - Software Engineering Education and Training Jinseok Heo Sungkyunkwan University, Hohyeon Jeong Sungkyunkwan University, Dongwook Choi SungKyunKwan University, Eunseok Lee Sungkyunkwan University | ||
17:07 7mTalk | Factors Affecting Compilable State at Each Keystroke in CS1 SEET - Software Engineering Education and Training Steven Scott Utah State University, Arto Hellas Aalto University, Juho Leinonen The University of Auckland, John Edwards Utah State University |