Enhancing Scratch Programming with Autograding
Scratch is a blocks-based programming language developed by MIT that has grown in popularity due to its focus on syntax-driven construction using drag-and-drop blocks to represent a program. The Scratch interface simplifies the process of creating interactive animations, games, and stories, making it an excellent platform for teaching programming skills, especially as a first-time experience. However, assessing and grading Scratch projects manually can be a time-consuming and often subjective endeavor for educators. This paper introduces our preliminary work in supporting the concept of a software testing process that can offer autograding support for Scratch programs. With instant feedback from teacher-provided test cases, specific areas of program correctness can be highlighted for improvement. Students can also be required to think about their program more deeply by writing test cases before starting their program, as a type of test-driven development. Autograding is often used in higher education computer science courses as a tool to streamline and ensure objectivity in grading. This paper explores the transformative potential of integrating autograding capabilities into Scratch. However, the assessment of Scratch programs can pose challenges especially when the output of a program is an image produced by a Scratch sprite. We discuss our ideas for creating an autograder for Scratch and how such a tool can help to encourage good coding habits.