Can guided decomposition help end-users write larger block-based programs? a mobile robot experiment
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 singl...
Saved in:
Published in | Proceedings of ACM on programming languages Vol. 6; no. OOPSLA2; pp. 233 - 258 |
---|---|
Main Authors | , , , , |
Format | Journal Article |
Language | English |
Published |
31.10.2022
|
Online Access | Get full text |
Cover
Loading…
Abstract | 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. |
---|---|
AbstractList | 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. |
Author | Ritschel, Nico Holmes, Reid Shepherd, David C. Garcia, Ronald Fronchetti, Felipe |
Author_xml | – sequence: 1 givenname: Nico orcidid: 0000-0001-5600-2978 surname: Ritschel fullname: Ritschel, Nico organization: University of British Columbia, Canada – sequence: 2 givenname: Felipe orcidid: 0000-0003-2104-6676 surname: Fronchetti fullname: Fronchetti, Felipe organization: Virginia Commonwealth University, USA – sequence: 3 givenname: Reid orcidid: 0000-0003-4213-494X surname: Holmes fullname: Holmes, Reid organization: University of British Columbia, Canada – sequence: 4 givenname: Ronald orcidid: 0000-0002-0982-1118 surname: Garcia fullname: Garcia, Ronald organization: University of British Columbia, Canada – sequence: 5 givenname: David C. orcidid: 0000-0003-2017-7842 surname: Shepherd fullname: Shepherd, David C. organization: Virginia Commonwealth University, USA |
BookMark | eNpNkMFKxDAURYOM4DgO_kJ2rqpJXpI2K5GiozDgRtclaV5rtW1K0kH9eyvOwtW9m3s5nHOyGsOIhFxyds25VDegNAijT8hayFxlXAq--tfPyDald8YYNyALMGviSzvS9tB59NRjHYYppG7uwkjfsJ8ojj47JIyJfsZuRtrb2GKkrg_1R-ZsWlZTDG20Q7qllg7BdT3SGFyYKX5NGLsBx_mCnDa2T7g95oa8Pty_lI_Z_nn3VN7ts5ov4BkWQjuGoqgLxxEbEEx4cEZZUMb5XILWjRNWewa19oUWRmhmCyOdyg3ksCFXf791DClFbKppAbDxu-Ks-vVTHf3ADzLAWTs |
Cites_doi | 10.1145/1868358.1868363 10.1145/1922649.1922658 10.1145/3341221 10.1145/1383602.1383631 10.1016/j.compeleceng.2017.08.025 10.1145/1232743.1232745 10.1109/FIE43999.2019.9028475 10.1016/j.jss.2018.11.041 10.1145/1753326.1753706 10.1145/3137065.3137085 10.1109/TVCG.2009.84 10.1145/223904.223914 10.1109/BLOCKS.2017.8120406 10.1145/1151954.1067453 10.1109/ETFA.2009.5347251 10.1109/VLHCC.2018.8506483 10.1080/08993408.2015.1033205 10.1145/3017680.3017707 10.1109/CSMR.2011.24 10.1145/2810146.2810155 10.1109/IWSC.2017.7880506 10.1006/jvlc.1996.0009 10.1109/VLHCC.2016.7739666 10.1109/ISM.2014.24 |
ContentType | Journal Article |
DBID | AAYXX CITATION |
DOI | 10.1145/3563296 |
DatabaseName | CrossRef |
DatabaseTitle | CrossRef |
DatabaseTitleList | CrossRef |
DeliveryMethod | fulltext_linktorsrc |
Discipline | Computer Science |
EISSN | 2475-1421 |
EndPage | 258 |
ExternalDocumentID | 10_1145_3563296 |
GroupedDBID | AAKMM AAYFX AAYXX ACM ADPZR AIKLT ALMA_UNASSIGNED_HOLDINGS CITATION GUFHI LHSKQ M~E OK1 ROL |
ID | FETCH-LOGICAL-c1356-e826b0e28c8b1eef3202d3b95a359bd74366fb2a6d03c6d8629260a894b579373 |
ISSN | 2475-1421 |
IngestDate | Fri Aug 23 01:29:54 EDT 2024 |
IsDoiOpenAccess | false |
IsOpenAccess | true |
IsPeerReviewed | true |
IsScholarly | true |
Issue | OOPSLA2 |
Language | English |
LinkModel | OpenURL |
MergedId | FETCHMERGED-LOGICAL-c1356-e826b0e28c8b1eef3202d3b95a359bd74366fb2a6d03c6d8629260a894b579373 |
ORCID | 0000-0003-2104-6676 0000-0001-5600-2978 0000-0003-2017-7842 0000-0003-4213-494X 0000-0002-0982-1118 |
OpenAccessLink | https://dl.acm.org/doi/pdf/10.1145/3563296 |
PageCount | 26 |
ParticipantIDs | crossref_primary_10_1145_3563296 |
PublicationCentury | 2000 |
PublicationDate | 2022-10-31 |
PublicationDateYYYYMMDD | 2022-10-31 |
PublicationDate_xml | – month: 10 year: 2022 text: 2022-10-31 day: 31 |
PublicationDecade | 2020 |
PublicationTitle | Proceedings of ACM on programming languages |
PublicationYear | 2022 |
References | Wolber David (e_1_2_1_50_1) Chen Chiu-Liang (e_1_2_1_11_1) 2012 e_1_2_1_20_1 Weintrop David (e_1_2_1_46_1) 2018 e_1_2_1_24_1 e_1_2_1_45_1 e_1_2_1_22_1 e_1_2_1_43_1 e_1_2_1_49_1 e_1_2_1_26_1 e_1_2_1_47_1 Burger Benjamin (e_1_2_1_9_1) 2020 Ritschel Nico (e_1_2_1_38_1) 2020 e_1_2_1_31_1 e_1_2_1_8_1 e_1_2_1_6_1 e_1_2_1_12_1 Fowler Martin (e_1_2_1_16_1) 1999 e_1_2_1_10_1 e_1_2_1_33_1 e_1_2_1_2_1 Pradel Michael (e_1_2_1_37_1) 2015 e_1_2_1_39_1 Kennedy Cazembe (e_1_2_1_28_1) 2018 Gonçalves Mateus Carvalho (e_1_2_1_19_1) 2021 Paolacci Gabriele (e_1_2_1_36_1) 2010 Argall Brenna D (e_1_2_1_4_1) 2009 Rose Simon (e_1_2_1_40_1) 2017 e_1_2_1_23_1 Biggs Geoffrey (e_1_2_1_7_1) 2003 Fraser Neil (e_1_2_1_17_1) 2015 e_1_2_1_44_1 e_1_2_1_27_1 e_1_2_1_25_1 e_1_2_1_48_1 e_1_2_1_29_1 Pan Zengxi (e_1_2_1_35_1) 2010 Fraser Neil (e_1_2_1_18_1) 2013 Scaffidi Christopher (e_1_2_1_41_1) e_1_2_1_30_1 e_1_2_1_5_1 e_1_2_1_3_1 e_1_2_1_34_1 e_1_2_1_1_1 e_1_2_1_32_1 Harvey Brian (e_1_2_1_21_1) 2013 e_1_2_1_15_1 Siegwart Roland (e_1_2_1_42_1) 2011 Conway Matthew John (e_1_2_1_13_1) 1998 Dorn Brian James (e_1_2_1_14_1) |
References_xml | – volume-title: A case-based approach for supporting the informal computing education of end-user programmers. Ph. D. Dissertation ident: e_1_2_1_14_1 contributor: fullname: Dorn Brian James – ident: e_1_2_1_32_1 doi: 10.1145/1868358.1868363 – ident: e_1_2_1_29_1 doi: 10.1145/1922649.1922658 – ident: e_1_2_1_43_1 – ident: e_1_2_1_45_1 doi: 10.1145/3341221 – ident: e_1_2_1_22_1 doi: 10.1145/1383602.1383631 – ident: e_1_2_1_34_1 doi: 10.1016/j.compeleceng.2017.08.025 – volume-title: The ‘55m end-user programmers ident: e_1_2_1_41_1 contributor: fullname: Scaffidi Christopher – ident: e_1_2_1_30_1 doi: 10.1145/1232743.1232745 – ident: e_1_2_1_3_1 doi: 10.1109/FIE43999.2019.9028475 – volume-title: Proceedings of the International Conference on Frontiers in Education: Computer Science and Computer Engineering (FECS). 1. year: 2012 ident: e_1_2_1_11_1 contributor: fullname: Chen Chiu-Liang – ident: e_1_2_1_5_1 doi: 10.1016/j.jss.2018.11.041 – volume-title: Blockly. In Proceedings of the Blocks and Beyond Workshop (B&B). 49–50 year: 2015 ident: e_1_2_1_17_1 contributor: fullname: Fraser Neil – volume-title: Running experiments on amazon mechanical turk. Judgment and Decision making, 5, 5 year: 2010 ident: e_1_2_1_36_1 contributor: fullname: Paolacci Gabriele – volume-title: Proceedings of the Conference on Human Factors in Computing Systems (CHI). 1–12 year: 2018 ident: e_1_2_1_46_1 contributor: fullname: Weintrop David – volume-title: Proceedings of the Australasian Conference on Robotics and Automation (ACRA). 1–3. year: 2003 ident: e_1_2_1_7_1 contributor: fullname: Biggs Geoffrey – ident: e_1_2_1_12_1 – ident: e_1_2_1_8_1 doi: 10.1145/1753326.1753706 – ident: e_1_2_1_27_1 doi: 10.1145/3137065.3137085 – volume-title: Raphael Winckler de Bettio, and André Pimenta Freire. year: 2021 ident: e_1_2_1_19_1 contributor: fullname: Gonçalves Mateus Carvalho – ident: e_1_2_1_15_1 doi: 10.1109/TVCG.2009.84 – ident: e_1_2_1_49_1 doi: 10.1145/223904.223914 – ident: e_1_2_1_48_1 doi: 10.1109/BLOCKS.2017.8120406 – ident: e_1_2_1_31_1 doi: 10.1145/1151954.1067453 – volume-title: A mobile robotic chemist. Nature, 583, 7815 year: 2020 ident: e_1_2_1_9_1 contributor: fullname: Burger Benjamin – year: 2020 ident: e_1_2_1_38_1 article-title: Comparing Block-based Programming Models for Two-armed Robots publication-title: IEEE Transactions on Software Engineering (TSE). contributor: fullname: Ritschel Nico – ident: e_1_2_1_25_1 doi: 10.1109/ETFA.2009.5347251 – ident: e_1_2_1_24_1 doi: 10.1109/VLHCC.2018.8506483 – ident: e_1_2_1_33_1 doi: 10.1080/08993408.2015.1033205 – volume-title: Refactoring: Improving the Design of Existing Code year: 1999 ident: e_1_2_1_16_1 contributor: fullname: Fowler Martin – volume-title: O’Reilly Media ident: e_1_2_1_50_1 contributor: fullname: Wolber David – volume-title: Alice: Easy-to-learn three-dimensional scripting for novices. Ph. D. Dissertation year: 1998 ident: e_1_2_1_13_1 contributor: fullname: Conway Matthew John – ident: e_1_2_1_47_1 doi: 10.1145/3017680.3017707 – volume-title: International Symposium on Robotics and ROBOTIK. 1–8. year: 2010 ident: e_1_2_1_35_1 contributor: fullname: Pan Zengxi – ident: e_1_2_1_1_1 – volume-title: Blockly: A visual programming editor year: 2013 ident: e_1_2_1_18_1 contributor: fullname: Fraser Neil – volume-title: Illah Reza Nourbakhsh, and Davide Scaramuzza year: 2011 ident: e_1_2_1_42_1 contributor: fullname: Siegwart Roland – volume-title: Proceeding of the Technical Symposium on Computer Science Education (SIGCSE). 759–759 year: 2013 ident: e_1_2_1_21_1 contributor: fullname: Harvey Brian – ident: e_1_2_1_2_1 doi: 10.1109/CSMR.2011.24 – volume-title: 29th European Conference on Object-Oriented Programming (ECOOP year: 2015 ident: e_1_2_1_37_1 contributor: fullname: Pradel Michael – ident: e_1_2_1_6_1 – ident: e_1_2_1_10_1 doi: 10.1145/2810146.2810155 – ident: e_1_2_1_39_1 doi: 10.1109/IWSC.2017.7880506 – ident: e_1_2_1_20_1 doi: 10.1006/jvlc.1996.0009 – volume-title: Proceedings of the Koli Calling International Conference on Computing Education Research. 1–10 year: 2018 ident: e_1_2_1_28_1 contributor: fullname: Kennedy Cazembe – volume-title: MP Jacob Habgood, and Tim Jay year: 2017 ident: e_1_2_1_40_1 contributor: fullname: Rose Simon – ident: e_1_2_1_44_1 – volume-title: A survey of robot learning from demonstration. Robotics and autonomous systems, 57, 5 year: 2009 ident: e_1_2_1_4_1 contributor: fullname: Argall Brenna D – ident: e_1_2_1_23_1 doi: 10.1109/VLHCC.2016.7739666 – ident: e_1_2_1_26_1 doi: 10.1109/ISM.2014.24 |
SSID | ssj0001934839 |
Score | 2.270374 |
Snippet | Block-based programming environments, already popular in computer science education, have been successfully used to make programming accessible to end-users in... |
SourceID | crossref |
SourceType | Aggregation Database |
StartPage | 233 |
Title | Can guided decomposition help end-users write larger block-based programs? a mobile robot experiment |
Volume | 6 |
hasFullText | 1 |
inHoldings | 1 |
isFullTextHit | |
isPrint | |
link | http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwnV1Lj9MwELbKcuHCGwELyAc4RV4aO_YmB4SqirJClF3BrrS3Kn5kVdFNqjTVShz4K_xVxrGTmKUSj0tUWXHUdr7OfDP9ZozQy1QwbcZcEcEKaYdqx0TqRBIaKyZjnR_G7SkK80_i6Cz5cM7PR6MfgWpp28gD9W1nX8n_WBXWwK62S_YfLNs_FBbgNdgXrmBhuP6Vjafw47zYLjWQRm2sONwrsID-rdaRKTWxNYhNdFUDsYxWVvRdW6m6-kps9NKdOmvzis2iPLqsJPiIqK5k1QSj_0P-etLHu1YCMpnO7b8N_jGXtuzQFUAHDf2y2Vi5aYe7HjF1VcJ64_QEM7NargeQ9Y0Sn00nud--eW_PPXJkt61ohxULSHYHV986NpocchInrjP6wOxY855ZBAA8Pj758nFCQ1_rJmj4sE3dBPjfI0Jih2cwLhjNdszcvhYLe4Wi69fmC7_xBrpJwZNZFzr_HhTxMpak7Wl1_ft3jdl272u_N2A8AXU5vYtu-5wDTxyA7qGRKe-jO915Hti79wdIA56wwxP-BU_Y4gn3eMItnrDDEw7whDs8vcU5dmjCLZrwgKaH6Gz27nR6RPwpHETF8AmIgQRUjg1NVSpjYwoGJtVMZjxnPJMaGKgQhaS50GOmhIYMOYMcOU-zRHI7fJE9QntlVZrHCCsgi7SgAmJqluQ6S8e8MNpQOyGqUCx9Arf4b2qxdsNWFtcM8fTPt-yjWwPqnqG9pt6a58AcG_mitd5PXz9xpg |
link.rule.ids | 315,783,787,27936,27937 |
linkProvider | ISSN International Centre |
openUrl | ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=Can+guided+decomposition+help+end-users+write+larger+block-based+programs%3F+a+mobile+robot+experiment&rft.jtitle=Proceedings+of+ACM+on+programming+languages&rft.au=Ritschel%2C+Nico&rft.au=Fronchetti%2C+Felipe&rft.au=Holmes%2C+Reid&rft.au=Garcia%2C+Ronald&rft.date=2022-10-31&rft.issn=2475-1421&rft.eissn=2475-1421&rft.volume=6&rft.issue=OOPSLA2&rft.spage=233&rft.epage=258&rft_id=info:doi/10.1145%2F3563296&rft.externalDBID=n%2Fa&rft.externalDocID=10_1145_3563296 |
thumbnail_l | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=2475-1421&client=summon |
thumbnail_m | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=2475-1421&client=summon |
thumbnail_s | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=2475-1421&client=summon |