Guiding Next-Step Hint Generation Using Automated Tests

by   Florian Obermüller, et al.

Learning basic programming with Scratch can be hard for novices and tutors alike: Students may not know how to advance when solving a task, teachers may face classrooms with many raised hands at a time, and the problem is exacerbated when novices are on their own in online or virtual lessons. It is therefore desirable to generate next-step hints automatically to provide individual feedback for students who are stuck, but current approaches rely on the availability of multiple hand-crafted or hand-selected sample solutions from which to draw valid hints, and have not been adapted for Scratch. Automated testing provides an opportunity to automatically select suitable candidate solutions for hint generation, even from a pool of student solutions using different solution approaches and varying in quality. In this paper we present Catnip, the first next-step hint generation approach for Scratch, which extends existing data-driven hint generation approaches with automated testing. Evaluation of Catnip on a dataset of student Scratch programs demonstrates that the generated hints point towards functional improvements, and the use of automated tests allows the hints to be better individualized for the chosen solution path.


Automated Test Generation for Scratch Programs

The importance of programming education has lead to dedicated educationa...

Finding Anomalies in Scratch Assignments

In programming education, teachers need to monitor and assess the progre...

Computing with Codio at Coventry University: Online virtual Linux boxes and automated formative feedback

We describe our experience using Codio at Coventry University in our und...

Discovering Multiple Design Approaches in Programming Assignment Submissions

In this paper, we present a novel approach of automated evaluation of pr...

SnapCheck: Automated Testing for Snap Programs

Programming environments such as Snap, Scratch, and Processing engage le...

A Case Study on Automated Fuzz Target Generation for Large Codebases

Fuzz Testing is a largely automated testing technique that provides rand...

Please sign up or login with your details

Forgot password? Click here to reset