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 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.
| Original language | English |
|---|---|
| Title of host publication | 2023 IEEE/ACM 45th International Conference on Software Engineering: Software Engineering Education and Training (ICSE-SEET) |
| Publisher | IEEE |
| Pages | 271-282 |
| Number of pages | 12 |
| ISBN (Electronic) | 9798350322590 |
| ISBN (Print) | 979-8-3503-2260-6 |
| DOIs | |
| Publication status | Published - 20 May 2023 |
| Event | 2023 IEEE/ACM 45th International Conference on Software Engineering: Software Engineering Education and Training (ICSE-SEET) - Melbourne, Australia Duration: 14 May 2023 → 20 May 2023 |
Publication series
| Name | Proceedings - International Conference on Software Engineering |
|---|---|
| ISSN (Print) | 0270-5257 |
Conference
| Conference | 2023 IEEE/ACM 45th International Conference on Software Engineering: Software Engineering Education and Training (ICSE-SEET) |
|---|---|
| Period | 14/05/23 → 20/05/23 |
Bibliographical note
Publisher Copyright:© 2023 IEEE.
Keywords
- Training
- Java
- Codes
- Electronic learning
- Software
- Quality assessment
- Task analysis
- learning programming
- programming education
- code quality
- MOOC
- refactoring
- large-scale analysis