Lune

NeurIPS2020顶会

Synthesizing Tasks for Block-based Programming

Umair Z. Ahmed, Maria Christakis, Aleksandr Efremov, Nigel Fernandez, Ahana Ghosh, Abhik Roychoudhury, Adish Singla

2020年份
26被引次数
2顶会引用

摘要

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 Tin\rm T^{in} and its solution code Cin\rm C^{in}, we propose a novel methodology to automatically generate a set {(Tout,Cout)}\{(\rm T^{out}, \rm C^{out})\} of new tasks along with solution codes such that tasks Tin\rm T^{in} and Tout\rm T^{out} 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 Tin\rm T^{in} to generate new tasks is futile. Our task synthesis algorithm operates by first mutating code Cin\rm C^{in} to obtain a set of codes {Cout}\{\rm C^{out}\}. Then, the algorithm performs symbolic execution over a code Cout\rm C^{out} to obtain a visual task Tout\rm T^{out}; this step uses the Monte Carlo Tree Search (MCTS) procedure to guide the search in the symbolic tree. We demonstrate the effectiveness of our algorithm through an extensive empirical evaluation and user study on reference tasks taken from the Hour of the Code: Classic Maze challenge by this http URL and the Intro to Programming with Karel course by this http URL.

问问这篇 Paper

智能体会读完全文。

Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。

可以从这些问题问起

智能体调用

Luneget_paper_fulltext

在 Lune 里问

免费开始,无需绑卡

引用它的顶会 Paper2

问问它们各自怎么用它

相关 Paper

黄昏的海面,两侧是细线勾勒的悬崖