Synthesizing Tasks for Block-based Programming
Umair Z. Ahmed, Maria Christakis, Aleksandr Efremov, Nigel Fernandez,, Ahana Ghosh, Abhik Roychoudhury, Adish Singla

TL;DR
This paper introduces a novel method for automatically synthesizing visually distinct programming tasks that are conceptually similar to reference tasks, aiding in personalized education in block-based programming environments.
Contribution
We propose a new task synthesis algorithm that mutates solution code and uses symbolic execution with MCTS to generate diverse, conceptually similar programming tasks.
Findings
Effective algorithm demonstrated on Hour of Code and Karel tasks.
Generated tasks are visually dissimilar but conceptually similar to references.
User study confirms the usefulness of synthesized tasks in education.
Abstract
Block-based visual programming environments play a critical role in introducing computing concepts to K-12 students. One of the key pedagogical challenges in these environments is in designing new practice tasks for a student that match a desired level of difficulty and exercise specific programming concepts. In this paper, we formalize the problem of synthesizing visual programming tasks. In particular, given a reference visual task and its solution code , we propose a novel methodology to automatically generate a set of new tasks along with solution codes such that tasks and are conceptually similar but visually dissimilar. Our methodology is based on the realization that the mapping from the space of visual tasks to their solution codes is highly discontinuous; hence, directly mutating reference task…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
Taxonomy
TopicsParallel Computing and Optimization Techniques · Teaching and Learning Programming · Embedded Systems Design Techniques
