中文

面向块编程的任务综合

计算机与社会 2020-11-06 v3 人工智能 机器学习

摘要

基于块的视觉编程环境在向K-12学生介绍计算概念方面起着关键作用。这些环境中的关键教学挑战之一是为学生设计匹配所需难度并练习特定编程概念的新实践任务。在本文中,我们形式化了综合视觉编程任务的问题。特别地,给定参考视觉任务Tin\rm T^{in}及其解答代码Cin\rm C^{in},我们提出一种新颖方法自动生成一组带有解答代码的新任务{(Tout,Cout)}\{(\rm T^{out}, \rm C^{out})\},使得任务Tin\rm T^{in}Tout\rm T^{out}在概念上相似但在视觉上不同。我们的方法基于如下认识:从视觉任务空间到其解答代码的映射高度不连续;因此,直接变异参考任务Tin\rm T^{in}来生成新任务是徒劳的。我们的任务综合算法首先变异代码Cin\rm C^{in}以获得一组代码{Cout}\{\rm C^{out}\}。然后,算法对代码Cout\rm C^{out}执行符号执行以获得视觉任务Tout\rm T^{out};该步骤使用蒙特卡洛树搜索(MCTS)过程来引导符号树中的搜索。我们通过对来自\emph{Code.org}的\emph{Hour of Code: Classic Maze}挑战和\emph{CodeHS.com}的\emph{Intro to Programming with Karel}课程的参考任务进行广泛实证评估和用户研究,展示了我们算法的有效性。

关键词

引用

@article{arxiv.2006.16913,
  title  = {Synthesizing Tasks for Block-based Programming},
  author = {Umair Z. Ahmed and Maria Christakis and Aleksandr Efremov and Nigel Fernandez and Ahana Ghosh and Abhik Roychoudhury and Adish Singla},
  journal= {arXiv preprint arXiv:2006.16913},
  year   = {2020}
}

备注

NeurIPS 2020