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

Alperen Tercan, Ahana Ghosh, Hasan Ferit Eniser, Maria Christakis, Adish Singla
Proceedings of the 2024 AAAI Conference on Artificial Intelligence, PMLR 257:129-138, 2024.

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.

Cite this Paper


BibTeX
@InProceedings{pmlr-v257-tercan24a, title = {Synthesizing a Progression of Subtasks for Block-Based Visual Programming Tasks}, author = {Tercan, Alperen and Ghosh, Ahana and Eniser, Hasan Ferit and Christakis, Maria and Singla, Adish}, booktitle = {Proceedings of the 2024 AAAI Conference on Artificial Intelligence}, pages = {129--138}, year = {2024}, editor = {Ananda, Muktha and Malick, Debshila Basu and Burstein, Jill and Liu, Lydia T. and Liu, Zitao and Sharpnack, James and Wang, Zichao and Wang, Serena}, volume = {257}, series = {Proceedings of Machine Learning Research}, month = {26--27 Feb}, publisher = {PMLR}, pdf = {https://raw.githubusercontent.com/mlresearch/v257/main/assets/tercan24a/tercan24a.pdf}, url = {https://proceedings.mlr.press/v257/tercan24a.html}, 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.} }
Endnote
%0 Conference Paper %T Synthesizing a Progression of Subtasks for Block-Based Visual Programming Tasks %A Alperen Tercan %A Ahana Ghosh %A Hasan Ferit Eniser %A Maria Christakis %A Adish Singla %B Proceedings of the 2024 AAAI Conference on Artificial Intelligence %C Proceedings of Machine Learning Research %D 2024 %E Muktha Ananda %E Debshila Basu Malick %E Jill Burstein %E Lydia T. Liu %E Zitao Liu %E James Sharpnack %E Zichao Wang %E Serena Wang %F pmlr-v257-tercan24a %I PMLR %P 129--138 %U https://proceedings.mlr.press/v257/tercan24a.html %V 257 %X 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.
APA
Tercan, A., Ghosh, A., Eniser, H.F., Christakis, M. & Singla, A.. (2024). Synthesizing a Progression of Subtasks for Block-Based Visual Programming Tasks. Proceedings of the 2024 AAAI Conference on Artificial Intelligence, in Proceedings of Machine Learning Research 257:129-138 Available from https://proceedings.mlr.press/v257/tercan24a.html.

Related Material