Katalog Plus
Bibliothek der Frankfurt UAS
Bald neuer Katalog: sichern Sie sich schon vorab Ihre persönlichen Merklisten im Nutzerkonto: Anleitung.
Dieses Ergebnis aus BASE kann Gästen nicht angezeigt werden.  Login für vollen Zugriff.

A Tutoring System to Learn Code Refactoring

Title: A Tutoring System to Learn Code Refactoring
Authors: Keuning, Hieke; Heeren, Bastiaan; Jeuring, Johan; Sub Softw.Techn. for Learning and Teach.; Sub General Intelligent Software Syst.; Dep Informatica; Software Technology for Learning and Teaching
Publication Year: 2021
Subject Terms: code quality; learning programming; refactoring; tutoring systems; Taverne; General Computer Science; Education
Description: In the last few decades, numerous tutoring systems and assessment tools have been developed to support students with learning programming, giving hints on correcting errors, showing which test cases do not succeed, and grading their overall solutions. The focus has been less on helping students write code with good style and quality. There are several professional tools that can help, but they are not targeted at novice programmers. This paper describes a tutoring system that lets students practice with improving small programs that are already functionally correct. The system is based on rules that are extracted from input by teachers collected in a preliminary study, a subset of rules taken from professional tools, and other literature. Rules define how a code construct can be rewritten into a better variant, without changing its functionality. Rules can be combined to form rewrite strategies, similar to refactorings offered by most IDEs. The student can ask for hints and feedback at each step. We describe the design of the system, show example sessions, and evaluate and discuss its contribution and limitations.
Document Type: book part
File Description: application/pdf
Language: English
Relation: https://dspace.library.uu.nl/handle/1874/414914
Availability: https://dspace.library.uu.nl/handle/1874/414914
Rights: info:eu-repo/semantics/OpenAccess
Accession Number: edsbas.9AEC1C52
Database: BASE