Skip to main content

Research Repository

Advanced Search

Introducing Code Quality at CS1 Level: Examples and Activities

Izu, Cruz; Mirolo, Claudio; Börstler, Jürgen; Connamacher, Harold; Crosby, Ryan; Glassey, Richard; Haldeman, Georgiana; Kiljunen, Olli; Kumar, Amruth N; Liu, David; Luxton-Reilly, Andrew; Matsumoto, Stephanos; Carneiro De Oliveira, Eduardo; Russell, Seán; Shah, Anshul; Izu, Cruz; Mirolo, Claudio; Börstler, Jürgen; Connamacher, Harold; Crosby, Ryan; Glassey, Richard; Haldeman, Georgiana; Kiljunen, Olli; Kumar, Amruth N; Liu, David; Luxton-Reilly, Andrew; Matsumoto, Stephanos; Carneiro De Oliveira, Eduardo; Russell, Seán; Shah, Anshul

Introducing Code Quality at CS1 Level: Examples and Activities Thumbnail


Authors

Cruz Izu

Claudio Mirolo

Jürgen Börstler

Harold Connamacher

Richard Glassey

Georgiana Haldeman

Olli Kiljunen

Amruth N Kumar

David Liu

Andrew Luxton-Reilly

Stephanos Matsumoto

Eduardo Carneiro De Oliveira

Seán Russell

Anshul Shah

Cruz Izu

Claudio Mirolo

Jürgen Börstler

Harold Connamacher

Richard Glassey

Georgiana Haldeman

Olli Kiljunen

Amruth N Kumar

David Liu

Andrew Luxton-Reilly

Stephanos Matsumoto

Eduardo Carneiro De Oliveira

Seán Russell

Anshul Shah



Abstract

Characterising code quality is a challenge that was addressed by a previous ITiCSE Working Group (Börstler et al., 2017). As emerged from that study, educators, developers, and students have different perceptions of the aspects involved. The perception of code quality by CS1 students develops from the feedback they receive when submitting practical work. As a consequence of increasingly large classes and the widespread use of autograders, student code is predominantly assessed based on functional correctness, emphasising a machine-oriented perspective with scarce or no feedback given about human-oriented aspects of code quality. Such limited perception of code quality may negatively impact how students understand , create, and interact with code artefacts. Although Börstler et al. concluded that "code quality should be discussed more thoroughly in educational programs", the lack of materials and time constraints have slowed down progress in that regard. The goal of this Working Group is to support CS1 instructors who want to introduce a broader perspective on code quality in their * co-leader This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. classroom, by providing a curated list of examples and activities suitable for novices. In order to achieve this goal, we have extracted from the CS education literature a range of examples and activities, which have then been analysed and organised in terms of code quality dimensions. We have also mapped the topics covered in those materials to existing taxonomies relevant to code quality in CS1. Based on this work, we provide: (1) a catalogue of examples that illustrates the range of quality defects that could be addressed at CS1 level; and (2) a sample set of activities devised to introduce code quality to CS1 students. These materials have the potential to help educators address the subject in more depth.

Citation

Izu, C., Mirolo, C., Börstler, J., Connamacher, H., Crosby, R., Glassey, R., Haldeman, G., Kiljunen, O., Kumar, A. N., Liu, D., Luxton-Reilly, A., Matsumoto, S., Carneiro De Oliveira, E., Russell, S., Shah, A., Izu, C., Mirolo, C., Börstler, J., Connamacher, H., Crosby, R., …Shah, A. (2024, July). Introducing Code Quality at CS1 Level: Examples and Activities. Presented at ITiCSE 2024: Innovation and Technology in Computer Science Education, Milan

Presentation Conference Type Conference Paper (published)
Conference Name ITiCSE 2024: Innovation and Technology in Computer Science Education
Start Date Jul 8, 2024
Acceptance Date Jan 9, 2025
Online Publication Date Jan 23, 2025
Publication Date Jan 23, 2025
Deposit Date Jan 21, 2025
Publicly Available Date Jan 24, 2025
Publisher Association for Computing Machinery (ACM)
Peer Reviewed Peer Reviewed
Volume 39
Pages 339-377
Book Title ITiCSE 2024: 2024 Working Group Reports on Innovation and Technology in Computer Science Education
ISBN 9798400712081
DOI https://doi.org/10.1145/3689187.3709615
Keywords CCS Concepts • Social and professional topics → Software engineering ed- ucation; Computer science education; Quality assurance; • General and reference → Evaluation Keywords CS1, code quality, examples, activities, readability, style, refactoring
Public URL https://durham-repository.worktribe.com/output/3343801

Files





You might also like



Downloadable Citations