Producing high-quality code is essential for professionals working on maintainable software. However, awareness of code quality is also important for novices. In addition to writing programs meeting functional requirements, teachers would like to see their students write understandable, concise and efficient code. Unfortunately, time to address these qualitative aspects is limited. We have developed a tutoring system for programming that teaches students to refactor functionally correct code, focussing on the method-level. The tutoring system provides automated feedback and layered hints. This paper describes the results of a study of 133 students working with the tutoring system. We analyse log data to see how they approach the exercises, ...
Abstract The transfer and teaching of programming and programming related skills has become, increas...
This report outlines a cognitive model of problem solving and programming, which forms the basis of ...
In the acquisition of software-development skills, feedback that pinpoints errors and explains means...
Producing high-quality code is essential for professionals working on maintainable software. However...
In the last few decades, numerous tutoring systems and assessment tools have been developed to suppo...
Code quality has been receiving less attention than program correctness in both the practice of and ...
This paper describes a Refactoring Learning Environment, which is intended to analyze and assess pro...
Formative feedback, aimed at helping students to improve theirwork, is an important factor in learni...
Can automated adaptive feedback for correcting erroneous programs help novice programmers learn to c...
Researchers and educators have been developing tutors to help students learn by solving problems. Th...
The core of this work-in-progress is that the best way to learn how to code is to practice by solvin...
The advent of second-generation intelligent computer tutors raises an important instructional design...
Code quality is important when developing software. Therefore, we recommend to teach students prac...
Dit proefschrift komt voort uit een Promotiebeurs voor Leraren (projectnummer 023.005.063), gefinanc...
Intelligent Tutoring Systems (ITSs) determine the quality of student responses by means of a diagnos...
Abstract The transfer and teaching of programming and programming related skills has become, increas...
This report outlines a cognitive model of problem solving and programming, which forms the basis of ...
In the acquisition of software-development skills, feedback that pinpoints errors and explains means...
Producing high-quality code is essential for professionals working on maintainable software. However...
In the last few decades, numerous tutoring systems and assessment tools have been developed to suppo...
Code quality has been receiving less attention than program correctness in both the practice of and ...
This paper describes a Refactoring Learning Environment, which is intended to analyze and assess pro...
Formative feedback, aimed at helping students to improve theirwork, is an important factor in learni...
Can automated adaptive feedback for correcting erroneous programs help novice programmers learn to c...
Researchers and educators have been developing tutors to help students learn by solving problems. Th...
The core of this work-in-progress is that the best way to learn how to code is to practice by solvin...
The advent of second-generation intelligent computer tutors raises an important instructional design...
Code quality is important when developing software. Therefore, we recommend to teach students prac...
Dit proefschrift komt voort uit een Promotiebeurs voor Leraren (projectnummer 023.005.063), gefinanc...
Intelligent Tutoring Systems (ITSs) determine the quality of student responses by means of a diagnos...
Abstract The transfer and teaching of programming and programming related skills has become, increas...
This report outlines a cognitive model of problem solving and programming, which forms the basis of ...
In the acquisition of software-development skills, feedback that pinpoints errors and explains means...