Abstract
Code quality has been receiving less attention than program correctness in both the practice of and research into programming education. Writing poor quality code might be a sign of carelessness, or not fully understanding programming concepts and language constructs. Teachers play an important role in addressing quality issues, and encouraging students to write better code as early as possible.
In this paper we explore to what extent teachers address code quality in their teaching, which code quality issues they observe and how they would help novices to improve their code. We presented student code of low quality to 30 experienced teachers and asked them which hints they would give and how the student should improve the code step by step. We compare these hints to the output of professional code quality tools.
Although most teachers gave similar hints on reducing the algorithmic complexity and removing clutter, they gave varying subsets of hints on other topics. We found a large variety in how they would solve issues in code. We noticed that professional code quality tools do not point out the algorithmic complexity topics that teachers mention. Finally, we give some general guidelines on how to approach code improvement.
In this paper we explore to what extent teachers address code quality in their teaching, which code quality issues they observe and how they would help novices to improve their code. We presented student code of low quality to 30 experienced teachers and asked them which hints they would give and how the student should improve the code step by step. We compare these hints to the output of professional code quality tools.
Although most teachers gave similar hints on reducing the algorithmic complexity and removing clutter, they gave varying subsets of hints on other topics. We found a large variety in how they would solve issues in code. We noticed that professional code quality tools do not point out the algorithmic complexity topics that teachers mention. Finally, we give some general guidelines on how to approach code improvement.
Original language | English |
---|---|
Title of host publication | ITiCSE 2019 - Proceedings of the 2019 ACM Conference on Innovation and Technology in Computer Science Education |
Subtitle of host publication | Proceedings of the 2019 ACM Conference on Innovation and Technology in Computer Science Education |
Place of Publication | New York |
Publisher | Association for Computing Machinery (ACM) |
Pages | 119-125 |
Number of pages | 7 |
ISBN (Electronic) | 9781450363013 |
DOIs | |
Publication status | Published - 2 Jul 2019 |
Event | the 24th Annual Conference on Innovation and Technology in Computer Science Education - University of Aberdeen, King’s College, Regent Walk, Aberdeen, United Kingdom Duration: 15 Jul 2019 → 17 Jul 2019 https://iticse.acm.org/ITiCSE2019/ |
Conference
Conference | the 24th Annual Conference on Innovation and Technology in Computer Science Education |
---|---|
Abbreviated title | ITiCSE 2019 |
Country/Territory | United Kingdom |
City | Aberdeen |
Period | 15/07/19 → 17/07/19 |
Internet address |