Synthesizing a Progression of Subtasks for Block-Based Visual Programming Tasks

Published: 14 Dec 2023, Last Modified: 04 Jun 2024AI4ED-AAAI-2024 day2posterEveryoneRevisionsBibTeX
Track: Responsible AI for Education (Day 2)
Paper Length: long-paper (6 pages + references)
Keywords: block-based visual programming, task synthesis, subtasks, symbolic execution
TL;DR: A framework for automatically synthesizing a progression of subtasks for block-based visual programming tasks.
Abstract: Block-based visual programming environments play an increasingly important role in introducing computing concepts to K-12 students. The open-ended and conceptual nature of these visual programming tasks make them challenging for novice programmers. A natural approach to providing assistance for problem-solving is breaking down a complex task into a progression of simpler subtasks. However, this is not trivial given that the solution codes are typically nested and have non-linear execution behavior. In this paper, we formalize the problem of synthesizing such a progression for a given reference task in a visual programming domain. We propose a novel synthesis algorithm that generates a progression of subtasks that are high-quality, well-spaced in terms of their complexity, and solving this progression leads to solving the reference task. We conduct a user study to demonstrate that our synthesized progression of subtasks can assist a novice programmer in solving tasks from the Hour of Code: Maze Challenge by Code.org.
Cover Letter: pdf
Submission Number: 9
Loading