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...

Full description

Saved in:
Bibliographic Details
Published inProceedings of ACM on programming languages Vol. 6; no. OOPSLA2; pp. 233 - 258
Main Authors Ritschel, Nico, Fronchetti, Felipe, Holmes, Reid, Garcia, Ronald, Shepherd, David C.
Format Journal Article
LanguageEnglish
Published 31.10.2022
Online AccessGet 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