Student Code Refactoring Misconceptions

Research output: Chapter in Book/Report/Conference proceedingConference contributionAcademicpeer-review

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 languageEnglish
Title of host publicationITiCSE 2023 - Proceedings of the 2023 Conference on Innovation and Technology in Computer Science Education
Subtitle of host publicationProceedings of the 2023 Conference on Innovation and Technology in Computer Science Education V. 1
Place of PublicationNew York, NY, USA
PublisherAssociation for Computing Machinery
Pages19–25
Number of pages7
ISBN (Electronic)9798400701382
ISBN (Print)9798400701382
DOIs
Publication statusPublished - 30 Jun 2023

Publication series

NameAnnual Conference on Innovation and Technology in Computer Science Education, ITiCSE
Volume1
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

Fingerprint

Dive into the research topics of 'Student Code Refactoring Misconceptions'. Together they form a unique fingerprint.

Cite this