kth.sePublications KTH
Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
Introducing Code Quality at CS1 Level: Examples and Activities
The University of Adelaide, Adelaide, South Australia, Australia.
University of Udine, Udine, Italy.
Blekinge Institute of Technology, Karlskrona, Sweden.
Case Western Reserve University, Cleveland, OH, USA.
Show others and affiliations
2025 (English)In: ITiCSE WGR 2024 - Publication of the 2024 Working Group Reports on Innovation and Technology in Computer Science Education, Association for Computing Machinery (ACM) , 2025, p. 339-377Conference paper, Published paper (Refereed)
Abstract [en]

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 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.

Place, publisher, year, edition, pages
Association for Computing Machinery (ACM) , 2025. p. 339-377
Keywords [en]
activities, code quality, CS1, examples, readability, refactoring, style
National Category
Software Engineering Didactics Computer Sciences
Identifiers
URN: urn:nbn:se:kth:diva-361148DOI: 10.1145/3689187.3709615ISI: 001447740200010Scopus ID: 2-s2.0-85219525965OAI: oai:DiVA.org:kth-361148DiVA, id: diva2:1944103
Conference
29th Working Group Reports on Innovation and Technology in Computer Science Education, ITiCSE WGR 2024, Milan, Italy, Jul 8 2024 - Jul 10 2024
Note

Part of ISBN 9798400712081

QC 20250313

Available from: 2025-03-12 Created: 2025-03-12 Last updated: 2025-05-26Bibliographically approved

Open Access in DiVA

No full text in DiVA

Other links

Publisher's full textScopus

Authority records

Glassey, Richard

Search in DiVA

By author/editor
Glassey, Richard
By organisation
Theoretical Computer Science, TCS
Software EngineeringDidacticsComputer Sciences

Search outside of DiVA

GoogleGoogle Scholar

doi
urn-nbn

Altmetric score

doi
urn-nbn
Total: 79 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf