English
 
Help Privacy Policy Disclaimer
  Advanced SearchBrowse

Item

ITEM ACTIONSEXPORT

Released

Paper

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

MPS-Authors
/persons/resource/persons292110

Tercan,  Alperen
Group A. Singla, Max Planck Institute for Software Systems, Max Planck Society;

/persons/resource/persons246612

Ghosh,  Ahana
Group A. Singla, Max Planck Institute for Software Systems, Max Planck Society;

/persons/resource/persons266149

Eniser,  Hassan Ferit
Group M. Christakis, Max Planck Institute for Software Systems, Max Planck Society;

/persons/resource/persons216578

Singla,  Adish       
Group A. Singla, Max Planck Institute for Software Systems, Max Planck Society;

External Resource
No external resources are shared
Fulltext (restricted access)
There are currently no full texts shared for your IP range.
Fulltext (public)

arXiv:2305.17518.pdf
(Preprint), 3MB

Supplementary Material (public)
There is no public supplementary material available
Citation

Tercan, A., Ghosh, A., Eniser, H. F., Christakis, M., & Singla, A. (2023). Synthesizing a Progression of Subtasks for Block-Based Visual Programming Tasks. Retrieved from https://arxiv.org/abs/2305.17518.


Cite as: https://hdl.handle.net/21.11116/0000-000D-AAB6-6
Abstract
Block-based visual programming environments play an increasingly important
role in introducing computing concepts to K-12 students. In recent years, they
have also gained popularity in neuro-symbolic AI, serving as a benchmark to
evaluate general problem-solving and logical reasoning skills. The open-ended
and conceptual nature of these visual programming tasks make them challenging,
both for state-of-the-art AI agents as well as 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 block-based visual programming task.
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 show the utility of
our synthesis algorithm in improving the efficacy of AI agents (in this case,
neural program synthesizers) for solving tasks in the Karel programming
environment. Then, we conduct a user study to demonstrate that our synthesized
progression of subtasks can assist a novice programmer in solving tasks in the
Hour of Code: Maze Challenge by Code-dot-org.