Analyzing the Quality of Submissions in Online Programming Courses

by   Maria Tigina, et al.

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.


Detecting Code Quality Issues in Pre-written Templates of Programming Tasks in Online Courses

In this work, we developed an algorithm for detecting code quality issue...

SOBO: A Feedback Bot to Nudge Code Quality in Programming Courses

Recent research has shown the great potential of automatic feedback in e...

Improving students' code correctness and test completeness by informal specifications

The quality of software produced by students is often poor. How to teach...

Many bioinformatics programming tasks can be automated with ChatGPT

Computer programming is a fundamental tool for life scientists, allowing...

VSC-WebGPU: A Selenium-based VS Code Extension For Local Edit And Cloud Compilation on WebGPU

With the rapid development of information transmission, Software as a Se...

Hyperstyle: A Tool for Assessing the Code Quality of Solutions to Programming Assignments

In software engineering, it is not enough to simply write code that only...

Please sign up or login with your details

Forgot password? Click here to reset