Synthesizing Tasks for Block-based Programming

被引:0
|
作者
Ahmed, Umair Z. [1 ]
Christakis, Maria [2 ]
Efremov, Aleksandr [2 ]
Fernandez, Nigel [2 ]
Ghosh, Ahana [2 ]
Roychoudhury, Abhik [1 ]
Singla, Adish [2 ]
机构
[1] Natl Univ Singapore, Singapore, Singapore
[2] MPI SWS, Saarbrucken, Germany
基金
新加坡国家研究基金会;
关键词
D O I
暂无
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
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 T-in and its solution code C-in, we propose a novel methodology to automatically generate a set {(T-out, C-out)} of new tasks along with solution codes such that tasks T-in and 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 T-in to generate new tasks is futile. Our task synthesis algorithm operates by first mutating code C-in to obtain a set of codes {C-out}. Then, the algorithm performs symbolic execution over a code Cout to obtain a visual task 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 Code: Classic Maze challenge by Code.org and the Intro to Programming with Karel course by CodeHS.com.
引用
收藏
页数:12
相关论文
共 50 条
  • [1] Adaptive Scaffolding in Block-Based Programming via Synthesizing New Tasks as Pop Quizzes
    Ghosh, Ahana
    Tschiatschek, Sebastian
    Devlin, Sam
    Singla, Adish
    [J]. ARTIFICIAL INTELLIGENCE IN EDUCATION, PT I, 2022, 13355 : 28 - 40
  • [2] Debugging during block-based programming
    ChanMin Kim
    Jiangmei Yuan
    Lucas Vasconcelos
    Minyoung Shin
    Roger B. Hill
    [J]. Instructional Science, 2018, 46 : 767 - 787
  • [3] Smells in Block-Based Programming Languages
    Hermans, Felienne
    Stolee, Kathryn T.
    Hoepelman, David
    [J]. 2016 IEEE SYMPOSIUM ON VISUAL LANGUAGES AND HUMAN-CENTRIC COMPUTING (VL/HCC), 2016, : 68 - 72
  • [4] Debugging during block-based programming
    Kim, ChanMin
    Yuan, Jiangmei
    Vasconcelos, Lucas
    Shin, Minyoung
    Hill, Roger B.
    [J]. INSTRUCTIONAL SCIENCE, 2018, 46 (05) : 767 - 787
  • [5] The landscape of Block-based programming: Characteristics of block-based environments and how they support the transition to text-based programming
    Lin, Yuhan
    Weintrop, David
    [J]. JOURNAL OF COMPUTER LANGUAGES, 2021, 67
  • [6] KareNao: A Tangible Block-Based Programming Environment
    Fu, Joshua
    Lim, Ryan
    Giacaman, Nasser
    Sutherland, Craig J.
    [J]. 2021 18TH INTERNATIONAL CONFERENCE ON UBIQUITOUS ROBOTS (UR), 2021, : 314 - 319
  • [7] Block-based Programming in Computer Science Education
    Weintrop, David
    [J]. COMMUNICATIONS OF THE ACM, 2019, 62 (08) : 22 - 25
  • [8] Block-Based Object-Oriented Programming
    Allen, Oliver
    Downs, Xavier
    Varoy, Elliot
    Luxton-Reilly, Andrew
    Giacaman, Nasser
    [J]. IEEE TRANSACTIONS ON LEARNING TECHNOLOGIES, 2022, 15 (04): : 439 - 453
  • [9] Environmental design as a component of block-based programming
    Geng, Zhirong
    [J]. COMPUTER APPLICATIONS IN ENGINEERING EDUCATION, 2023, 31 (02) : 408 - 420
  • [10] Tuk Tuk: A Block-Based Programming Game
    Koracharkornradt, Chonnuttida
    [J]. PROCEEDINGS OF THE 2017 ACM CONFERENCE ON INTERACTION DESIGN AND CHILDREN (IDC 2017), 2017, : 725 - 728