{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,6,27]],"date-time":"2026-06-27T20:24:20Z","timestamp":1782591860467,"version":"3.54.5"},"reference-count":50,"publisher":"Association for Computing Machinery (ACM)","issue":"OOPSLA2","license":[{"start":{"date-parts":[[2022,10,31]],"date-time":"2022-10-31T00:00:00Z","timestamp":1667174400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"funder":[{"DOI":"10.13039\/100000001","name":"NSF","doi-asserted-by":"publisher","award":["2024561"],"award-info":[{"award-number":["2024561"]}],"id":[{"id":"10.13039\/100000001","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["Proc. ACM Program. Lang."],"published-print":{"date-parts":[[2022,10,31]]},"abstract":"<jats:p>Block-based programming environments, already popular in computer science education, have been successfully used to make programming accessible to end-users in domains like robotics, mobile apps, and even DevOps. Most studies of these applications have examined small programs that fit within a single screen, yet real-world programs often grow large, and editing these large block-based programs quickly becomes unwieldy. Traditional programming language features, like functions, allow programmers to decompose their programs. Unfortunately, both previous work, and our own findings, suggest that end-users rarely use these features, resulting in large monolithic code blocks that are hard to understand. In this work, we introduce a block-based system that provides users with a hierarchical, domain-specific program structure and requires them to decompose their programs accordingly. Through a user study with 92 users, we compared this approach, which we call guided program decomposition, to a traditional system that supports functions, but does not require decomposition. We found that while almost all users could successfully complete smaller tasks, those who decomposed their programs were significantly more successful as the tasks grew larger. As expected, most users without guided decomposition did not decompose their programs, resulting in poor performance on larger problems. In comparison, users of guided decomposition performed significantly better on the same tasks. Though this study investigated only a limited selection of tasks in one specific domain, it suggests that guided decomposition can benefit end-user programmers. While no single decomposition strategy fits all domains, we believe that similar domain-specific sub-hierarchies could be found for other application areas, increasing the scale of code end-users can create and understand.<\/jats:p>","DOI":"10.1145\/3563296","type":"journal-article","created":{"date-parts":[[2022,10,31]],"date-time":"2022-10-31T20:23:35Z","timestamp":1667247815000},"page":"233-258","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":12,"title":["Can guided decomposition help end-users write larger block-based programs? a mobile robot experiment"],"prefix":"10.1145","volume":"6","author":[{"ORCID":"https:\/\/orcid.org\/0000-0001-5600-2978","authenticated-orcid":false,"given":"Nico","family":"Ritschel","sequence":"first","affiliation":[{"name":"University of British Columbia, Canada"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-2104-6676","authenticated-orcid":false,"given":"Felipe","family":"Fronchetti","sequence":"additional","affiliation":[{"name":"Virginia Commonwealth University, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-4213-494X","authenticated-orcid":false,"given":"Reid","family":"Holmes","sequence":"additional","affiliation":[{"name":"University of British Columbia, Canada"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-0982-1118","authenticated-orcid":false,"given":"Ronald","family":"Garcia","sequence":"additional","affiliation":[{"name":"University of British Columbia, Canada"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-2017-7842","authenticated-orcid":false,"given":"David C.","family":"Shepherd","sequence":"additional","affiliation":[{"name":"Virginia Commonwealth University, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2022,10,31]]},"reference":[{"key":"e_1_2_1_1_1","unstructured":"ABB Group. 2021. Wizard easy programming. https:\/\/new.abb.com\/ products\/robotics\/application-software\/wizard. \t\t\t\t  ABB Group. 2021. Wizard easy programming. https:\/\/new.abb.com\/ products\/robotics\/application-software\/wizard."},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1109\/CSMR.2011.24"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1109\/FIE43999.2019.9028475"},{"key":"e_1_2_1_4_1","volume-title":"A survey of robot learning from demonstration. Robotics and autonomous systems, 57, 5","author":"Argall Brenna D","year":"2009","unstructured":"Brenna D Argall , Sonia Chernova , Manuela Veloso , and Brett Browning . 2009. A survey of robot learning from demonstration. Robotics and autonomous systems, 57, 5 ( 2009 ), 469\u2013483. Brenna D Argall, Sonia Chernova, Manuela Veloso, and Brett Browning. 2009. A survey of robot learning from demonstration. Robotics and autonomous systems, 57, 5 (2009), 469\u2013483."},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.jss.2018.11.041"},{"key":"e_1_2_1_6_1","unstructured":"Daniele Benedetelli. 2013. Lego Mindstorms EV3 Laboratory: Build Program and Experiment with Five Wicked Cool Robots. No Starch Press. \t\t\t\t  Daniele Benedetelli. 2013. Lego Mindstorms EV3 Laboratory: Build Program and Experiment with Five Wicked Cool Robots. No Starch Press."},{"key":"e_1_2_1_7_1","volume-title":"Proceedings of the Australasian Conference on Robotics and Automation (ACRA). 1\u20133.","author":"Biggs Geoffrey","year":"2003","unstructured":"Geoffrey Biggs and Bruce MacDonald . 2003 . A survey of robot programming systems . In Proceedings of the Australasian Conference on Robotics and Automation (ACRA). 1\u20133. Geoffrey Biggs and Bruce MacDonald. 2003. A survey of robot programming systems. In Proceedings of the Australasian Conference on Robotics and Automation (ACRA). 1\u20133."},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/1753326.1753706"},{"key":"e_1_2_1_9_1","volume-title":"A mobile robotic chemist. Nature, 583, 7815","author":"Burger Benjamin","year":"2020","unstructured":"Benjamin Burger , Phillip M Maffettone , Vladimir V Gusev , Catherine M Aitchison , Yang Bai , Xiaoyan Wang , Xiaobo Li , Ben M Alston , Buyi Li , and Rob Clowes . 2020. A mobile robotic chemist. Nature, 583, 7815 ( 2020 ), 237\u2013241. Benjamin Burger, Phillip M Maffettone, Vladimir V Gusev, Catherine M Aitchison, Yang Bai, Xiaoyan Wang, Xiaobo Li, Ben M Alston, Buyi Li, and Rob Clowes. 2020. A mobile robotic chemist. Nature, 583, 7815 (2020), 237\u2013241."},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/2810146.2810155"},{"key":"e_1_2_1_11_1","volume-title":"Proceedings of the International Conference on Frontiers in Education: Computer Science and Computer Engineering (FECS). 1.","author":"Chen Chiu-Liang","year":"2012","unstructured":"Chiu-Liang Chen , Shun-Yin Cheng , and Janet Mei-Chuen Lin . 2012 . A study of misconceptions and missing conceptions of novice Java programmers . In Proceedings of the International Conference on Frontiers in Education: Computer Science and Computer Engineering (FECS). 1. Chiu-Liang Chen, Shun-Yin Cheng, and Janet Mei-Chuen Lin. 2012. A study of misconceptions and missing conceptions of novice Java programmers. In Proceedings of the International Conference on Frontiers in Education: Computer Science and Computer Engineering (FECS). 1."},{"key":"e_1_2_1_12_1","unstructured":"TIOBE The Software Quality Company. 2021. TIOBE Index. https:\/\/www. tiobe.com\/tiobe-index. \t\t\t\t  TIOBE The Software Quality Company. 2021. TIOBE Index. https:\/\/www. tiobe.com\/tiobe-index."},{"key":"e_1_2_1_13_1","volume-title":"Alice: Easy-to-learn three-dimensional scripting for novices. Ph. D. Dissertation","author":"Conway Matthew John","year":"1998","unstructured":"Matthew John Conway . 1998 . Alice: Easy-to-learn three-dimensional scripting for novices. Ph. D. Dissertation . University of Virginia . Matthew John Conway. 1998. Alice: Easy-to-learn three-dimensional scripting for novices. Ph. D. Dissertation. University of Virginia."},{"key":"e_1_2_1_14_1","volume-title":"A case-based approach for supporting the informal computing education of end-user programmers. Ph. D. Dissertation","author":"Dorn Brian James","unstructured":"Brian James Dorn . 2010. A case-based approach for supporting the informal computing education of end-user programmers. Ph. D. Dissertation . Georgia Institute of Technology . Brian James Dorn. 2010. A case-based approach for supporting the informal computing education of end-user programmers. Ph. D. Dissertation. Georgia Institute of Technology."},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1109\/TVCG.2009.84"},{"key":"e_1_2_1_16_1","volume-title":"Refactoring: Improving the Design of Existing Code","author":"Fowler Martin","year":"1999","unstructured":"Martin Fowler . 1999 . Refactoring: Improving the Design of Existing Code . Addison-Wesley . Martin Fowler. 1999. Refactoring: Improving the Design of Existing Code. Addison-Wesley."},{"key":"e_1_2_1_17_1","volume-title":"Blockly. In Proceedings of the Blocks and Beyond Workshop (B&B). 49\u201350","author":"Fraser Neil","year":"2015","unstructured":"Neil Fraser . 2015 . Ten things we\u2019ve learned from Blockly. In Proceedings of the Blocks and Beyond Workshop (B&B). 49\u201350 . Neil Fraser. 2015. Ten things we\u2019ve learned from Blockly. In Proceedings of the Blocks and Beyond Workshop (B&B). 49\u201350."},{"key":"e_1_2_1_18_1","volume-title":"Blockly: A visual programming editor","author":"Fraser Neil","year":"2013","unstructured":"Neil Fraser . 2013 . Blockly: A visual programming editor . https:\/\/code.google. com\/p\/blockly. Neil Fraser. 2013. Blockly: A visual programming editor. https:\/\/code.google. com\/p\/blockly."},{"key":"e_1_2_1_19_1","volume-title":"Raphael Winckler de Bettio, and Andr\u00e9 Pimenta Freire.","author":"Gon\u00e7alves Mateus Carvalho","year":"2021","unstructured":"Mateus Carvalho Gon\u00e7alves , Ot\u00e1vio Neves Lara , Raphael Winckler de Bettio, and Andr\u00e9 Pimenta Freire. 2021 . End-user development of smart home rules using block-based programming: A comparative usability evaluation with programmers and non-programmers. Behaviour & Information Technology , 1\u201323. Mateus Carvalho Gon\u00e7alves, Ot\u00e1vio Neves Lara, Raphael Winckler de Bettio, and Andr\u00e9 Pimenta Freire. 2021. End-user development of smart home rules using block-based programming: A comparative usability evaluation with programmers and non-programmers. Behaviour & Information Technology, 1\u201323."},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1006\/jvlc.1996.0009"},{"key":"e_1_2_1_21_1","volume-title":"Proceeding of the Technical Symposium on Computer Science Education (SIGCSE). 759\u2013759","author":"Harvey Brian","year":"2013","unstructured":"Brian Harvey , Daniel D Garcia , Tiffany Barnes , Nathaniel Titterton , Daniel Armendariz , Luke Segars , Eugene Lemon , Sean Morris , and Josh Paley . 2013 . Snap!(build your own blocks) . In Proceeding of the Technical Symposium on Computer Science Education (SIGCSE). 759\u2013759 . Brian Harvey, Daniel D Garcia, Tiffany Barnes, Nathaniel Titterton, Daniel Armendariz, Luke Segars, Eugene Lemon, Sean Morris, and Josh Paley. 2013. Snap!(build your own blocks). In Proceeding of the Technical Symposium on Computer Science Education (SIGCSE). 759\u2013759."},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/1383602.1383631"},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1109\/VLHCC.2016.7739666"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1109\/VLHCC.2018.8506483"},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1109\/ETFA.2009.5347251"},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1109\/ISM.2014.24"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/3137065.3137085"},{"key":"e_1_2_1_28_1","volume-title":"Proceedings of the Koli Calling International Conference on Computing Education Research. 1\u201310","author":"Kennedy Cazembe","year":"2018","unstructured":"Cazembe Kennedy and Eileen T Kraemer . 2018 . What are they thinking? Eliciting student reasoning about troublesome concepts in introductory computer science . In Proceedings of the Koli Calling International Conference on Computing Education Research. 1\u201310 . Cazembe Kennedy and Eileen T Kraemer. 2018. What are they thinking? Eliciting student reasoning about troublesome concepts in introductory computer science. In Proceedings of the Koli Calling International Conference on Computing Education Research. 1\u201310."},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/1922649.1922658"},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/1232743.1232745"},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/1151954.1067453"},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1145\/1868358.1868363"},{"key":"e_1_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1080\/08993408.2015.1033205"},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.compeleceng.2017.08.025"},{"key":"e_1_2_1_35_1","volume-title":"International Symposium on Robotics and ROBOTIK. 1\u20138.","author":"Pan Zengxi","year":"2010","unstructured":"Zengxi Pan , Joseph Polden , Nathan Larkin , Stephen Van Duin , and John Norrish . 2010 . Recent progress on programming methods for industrial robots . In International Symposium on Robotics and ROBOTIK. 1\u20138. Zengxi Pan, Joseph Polden, Nathan Larkin, Stephen Van Duin, and John Norrish. 2010. Recent progress on programming methods for industrial robots. In International Symposium on Robotics and ROBOTIK. 1\u20138."},{"key":"e_1_2_1_36_1","volume-title":"Running experiments on amazon mechanical turk. Judgment and Decision making, 5, 5","author":"Paolacci Gabriele","year":"2010","unstructured":"Gabriele Paolacci , Jesse Chandler , and Panagiotis G Ipeirotis . 2010. Running experiments on amazon mechanical turk. Judgment and Decision making, 5, 5 ( 2010 ), 411\u2013419. Gabriele Paolacci, Jesse Chandler, and Panagiotis G Ipeirotis. 2010. Running experiments on amazon mechanical turk. Judgment and Decision making, 5, 5 (2010), 411\u2013419."},{"key":"e_1_2_1_37_1","volume-title":"29th European Conference on Object-Oriented Programming (ECOOP","author":"Pradel Michael","year":"2015","unstructured":"Michael Pradel and Koushik Sen . 2015 . The good, the bad, and the ugly: An empirical study of implicit type conversions in JavaScript . In 29th European Conference on Object-Oriented Programming (ECOOP 2015). Michael Pradel and Koushik Sen. 2015. The good, the bad, and the ugly: An empirical study of implicit type conversions in JavaScript. In 29th European Conference on Object-Oriented Programming (ECOOP 2015)."},{"key":"e_1_2_1_38_1","article-title":"Comparing Block-based Programming Models for Two-armed Robots","author":"Ritschel Nico","year":"2020","unstructured":"Nico Ritschel , Vladimir Kovalenko , Reid Holmes , Ron Garcia , and David C Shepherd . 2020 . Comparing Block-based Programming Models for Two-armed Robots . IEEE Transactions on Software Engineering (TSE). Nico Ritschel, Vladimir Kovalenko, Reid Holmes, Ron Garcia, and David C Shepherd. 2020. Comparing Block-based Programming Models for Two-armed Robots. IEEE Transactions on Software Engineering (TSE).","journal-title":"IEEE Transactions on Software Engineering (TSE)."},{"key":"e_1_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1109\/IWSC.2017.7880506"},{"key":"e_1_2_1_40_1","volume-title":"MP Jacob Habgood, and Tim Jay","author":"Rose Simon","year":"2017","unstructured":"Simon Rose , MP Jacob Habgood, and Tim Jay . 2017 . An exploration of the role of visual programming tools in the development of young children\u2019s computational thinking. Electronic journal of e-learning, 15, 4 (2017), pp297\u2013309. Simon Rose, MP Jacob Habgood, and Tim Jay. 2017. An exploration of the role of visual programming tools in the development of young children\u2019s computational thinking. Electronic journal of e-learning, 15, 4 (2017), pp297\u2013309."},{"key":"e_1_2_1_41_1","volume-title":"The \u201855m end-user programmers","author":"Scaffidi Christopher","unstructured":"Christopher Scaffidi , Mary Shaw , and Brad Myers . 2005. The \u201855m end-user programmers \u2019 estimate revisited. Institute for Software Research, International, Carnegie Mellon University . Christopher Scaffidi, Mary Shaw, and Brad Myers. 2005. The \u201855m end-user programmers\u2019 estimate revisited. Institute for Software Research, International, Carnegie Mellon University."},{"key":"e_1_2_1_42_1","volume-title":"Illah Reza Nourbakhsh, and Davide Scaramuzza","author":"Siegwart Roland","year":"2011","unstructured":"Roland Siegwart , Illah Reza Nourbakhsh, and Davide Scaramuzza . 2011 . Introduction to autonomous mobile robots. MIT press . Roland Siegwart, Illah Reza Nourbakhsh, and Davide Scaramuzza. 2011. Introduction to autonomous mobile robots. MIT press."},{"key":"e_1_2_1_43_1","unstructured":"Universal Robots. 2013. PolyScope Manual. \t\t\t\t  Universal Robots. 2013. PolyScope Manual."},{"key":"e_1_2_1_44_1","unstructured":"US Department of Labor. 2021. Occupational outlook handbook. https:\/\/www.bls.gov\/ooh\/. \t\t\t\t  US Department of Labor. 2021. Occupational outlook handbook. https:\/\/www.bls.gov\/ooh\/."},{"key":"e_1_2_1_45_1","doi-asserted-by":"publisher","DOI":"10.1145\/3341221"},{"key":"e_1_2_1_46_1","volume-title":"Proceedings of the Conference on Human Factors in Computing Systems (CHI). 1\u201312","author":"Weintrop David","year":"2018","unstructured":"David Weintrop , Afsoon Afzal , Jean Salac , Patrick Francis , Boyang Li , David C Shepherd , and Diana Franklin . 2018 . Evaluating CoBlox: A comparative study of robotics programming environments for adult novices . In Proceedings of the Conference on Human Factors in Computing Systems (CHI). 1\u201312 . David Weintrop, Afsoon Afzal, Jean Salac, Patrick Francis, Boyang Li, David C Shepherd, and Diana Franklin. 2018. Evaluating CoBlox: A comparative study of robotics programming environments for adult novices. In Proceedings of the Conference on Human Factors in Computing Systems (CHI). 1\u201312."},{"key":"e_1_2_1_47_1","doi-asserted-by":"publisher","DOI":"10.1145\/3017680.3017707"},{"key":"e_1_2_1_48_1","doi-asserted-by":"publisher","DOI":"10.1109\/BLOCKS.2017.8120406"},{"key":"e_1_2_1_49_1","doi-asserted-by":"publisher","DOI":"10.1145\/223904.223914"},{"key":"e_1_2_1_50_1","volume-title":"O\u2019Reilly Media","author":"Wolber David","unstructured":"David Wolber , Hal Abelson , Ellen Spertus , and Liz Looney . 2011. App Inventor . O\u2019Reilly Media , Inc .. David Wolber, Hal Abelson, Ellen Spertus, and Liz Looney. 2011. App Inventor. O\u2019Reilly Media, Inc.."}],"container-title":["Proceedings of the ACM on Programming Languages"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3563296","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3563296","content-type":"application\/pdf","content-version":"vor","intended-application":"syndication"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3563296","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T16:38:10Z","timestamp":1750178290000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3563296"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2022,10,31]]},"references-count":50,"journal-issue":{"issue":"OOPSLA2","published-print":{"date-parts":[[2022,10,31]]}},"alternative-id":["10.1145\/3563296"],"URL":"https:\/\/doi.org\/10.1145\/3563296","relation":{},"ISSN":["2475-1421"],"issn-type":[{"value":"2475-1421","type":"electronic"}],"subject":[],"published":{"date-parts":[[2022,10,31]]},"assertion":[{"value":"2022-10-31","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}