Abstract
Teaching students to develop code of good quality is important. Refactoring -- rewriting a program into a semantically equivalent program of better quality -- is a common technique to improve code quality. It is therefore relevant for students to learn about refactoring, even for the smaller programs they write as beginners. However, students make mistakes when refactoring programs. Some of these mistakes appear often, and might be caused by misconceptions they have. In this paper, we investigate common student code refactoring misconceptions. We do this by analyzing log data containing program snapshots of students working on refactoring exercises in a tutoring system. We manually inspect all transitions from a correct program state to an incorrect state. We then use grounded theory to identify and categorize misconceptions students might have when refactoring programs. As a result, this work (1) defines the concept of refactoring misconception, and (2) provides an initial list of 25 such misconceptions, together with an accompanying website with full details.
Original language | English |
---|---|
Title of host publication | ITiCSE 2023 - Proceedings of the 2023 Conference on Innovation and Technology in Computer Science Education |
Subtitle of host publication | Proceedings of the 2023 Conference on Innovation and Technology in Computer Science Education V. 1 |
Place of Publication | New York, NY, USA |
Publisher | Association for Computing Machinery |
Pages | 19–25 |
Number of pages | 7 |
ISBN (Electronic) | 9798400701382 |
ISBN (Print) | 9798400701382 |
DOIs | |
Publication status | Published - 30 Jun 2023 |
Publication series
Name | Annual Conference on Innovation and Technology in Computer Science Education, ITiCSE |
---|---|
Volume | 1 |
ISSN (Print) | 1942-647X |
Bibliographical note
Publisher Copyright:© 2023 ACM.
Keywords
- code quality
- code refactoring
- grounded theory
- misconceptions
- program snapshot analysis
- programming education
- student code refactoring misconceptions