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 条
  • [31] Predicting programming performance by using process behavior in a block-based programming environment
    Fu, Qian
    Tang, Wenjing
    Zheng, Yafeng
    Ma, Haotian
    Zhong, Tianlong
    INTERACTIVE LEARNING ENVIRONMENTS, 2024, 32 (06) : 2371 - 2385
  • [32] A Comparison of Block-Based Programming Platforms for Learning Programming and Creating Simple Application
    AbdulSamad, Umar
    Romli, Rohaida
    ADVANCES ON INTELLIGENT INFORMATICS AND COMPUTING: HEALTH INFORMATICS, INTELLIGENT SYSTEMS, DATA SCIENCE AND SMART COMPUTING, 2022, 127 : 630 - 640
  • [33] Transitioning from Block-based to Text-based Programming Languages
    Moors, Luke
    Luxton-Reilly, Andrew
    Denny, Paul
    2018 6TH INTERNATIONAL CONFERENCE ON LEARNING AND TEACHING IN COMPUTING AND ENGINEERING (LATICE), 2018, : 57 - 64
  • [34] How Block Categories Affect Learner Satisfaction with a Block-Based Programming Interface
    Rodriguez, Fernando J.
    Price, Kimberly Michelle
    Isaac, Joseph, Jr.
    Boyer, Kristy Elizabeth
    Gardner-McCune, Christina
    2017 IEEE SYMPOSIUM ON VISUAL LANGUAGES AND HUMAN-CENTRIC COMPUTING (VL/HCC), 2017, : 201 - 205
  • [35] Adaptive Immediate Feedback for Block-Based Programming: Design and Evaluation
    Marwan, Samiha
    Akram, Bita
    Barnes, Tiffany
    Price, Thomas W.
    IEEE TRANSACTIONS ON LEARNING TECHNOLOGIES, 2022, 15 (03): : 406 - 420
  • [36] Blockly Goes to Work: Block-based Programming for Industrial Robots
    Weintrop, David
    Shepherd, David C.
    Francis, Patrick
    Franklin, Diana
    2017 IEEE BLOCKS AND BEYOND WORKSHOP (B&B), 2017, : 29 - 36
  • [37] BlocklyPar: from sequential to parallel with block-based visual programming
    Veroneze Solorzano, Ana Luisa
    Charao, Andrea Schwertner
    2021 IEEE FRONTIERS IN EDUCATION CONFERENCE (FIE 2021), 2021,
  • [38] Block-C: A block-based programming teaching tool to facilitate introductory C programming courses
    Kyfonidis, Charalampos
    Moumoutzis, Nektarios
    Christodoulakis, Stavros
    PROCEEDINGS OF 2017 IEEE GLOBAL ENGINEERING EDUCATION CONFERENCE (EDUCON2017), 2017, : 570 - 579
  • [39] Text Processing Education Using a Block-Based Programming Language
    Park, Youngki
    Shin, Youhyun
    IEEE ACCESS, 2022, 10 : 128484 - 128497
  • [40] Block-based versus Flow-based Programming for Naive Programmers
    Mason, Dave
    Dave, Kruti
    2017 IEEE BLOCKS AND BEYOND WORKSHOP (B&B), 2017, : 25 - 28