Goto

Collaborating Authors

 synthesizing task


Review for NeurIPS paper: Synthesizing Tasks for Block-based Programming

Neural Information Processing Systems

Additional Feedback: The main concern with this work is its relevance to NeurIPS. The application is clearly relevant, as it combines program synthesis, constraint satisfaction, and intelligent tutoring, all well-established in the AI literature. However, the solution is almost entirely symbolic – it combines SMT solving, symbolic execution, and delta debugging over programs. The only probabilistic component is MCTS, and even there (as far as I understand) it is vanilla MCTS without learned policies. The paper has many interesting contributions, but none are related to machine learning.


Review for NeurIPS paper: Synthesizing Tasks for Block-based Programming

Neural Information Processing Systems

Overall, reviewers liked how the paper combined constraint solving, symbolic execution and MCTS to solve the problem. The main reservation was some concern about relevance to the venue given the lack of any learning in the approach. However, reviewers believed that both the problem and the techniques are of interest to people in the community, for example working on ML-guided program synthesis.


Synthesizing Tasks for Block-based Programming

Neural Information Processing Systems

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. 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 \task {in} to generate new tasks is futile. Then, the algorithm performs symbolic execution over a code \code {out} to obtain a visual task \task {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 Code: Classic Maze challenge by Code.org and the Intro to Programming with Karel course by CodeHS.com.