Introducing Code Quality in the CS1 Classroom

Cruz Izu,Claudio Mirolo,Jurgen Borstler,Harold Connamacher,Ryan Crosby,Richard Glassey,Georgiana Haldeman,Olli Kiljunen,Amruth N. Kumar,David Liu,Andrew Luxton-Reilly,Stephanos Matsumoto,Eduardo Carneiro de Oliveira,Sean Russell,Anshul Shah
DOI: https://doi.org/10.1145/3649405.3659535
2024-01-01
Abstract:Characterising code quality is a challenge that was addressed by Borstler et al.'s working group in 2017. As emerged from their study, educators, developers and students have different perceptions of the manifold aspects involved, and a major conclusion of that WG was that "code quality should be discussed more thoroughly in educational programs" [2, p. 70]. However, the lack of materials and the time constraints have slowed down progress in that regard. The goal of this working group is to propose manageable ways to address code quality in the CS1 classroom, with a particular focus on activities that help students become aware of and improve the quality of their code. To achieve this goal, we will (a) extract from the literature a comprehensive set of quality issues which will then be classified according to the appropriate strategies to fix them; and (b) circulate a survey to explore the instructors' views on code quality issues and the way they deal with (or ignore) them. Based on this work we aim to produce: (1) a taxonomy of code quality issues with associated examples, as well as (2) a sample set of teaching materials to introduce those issues to CS1 students.
What problem does this paper attempt to address?