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 in:Proceedings 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
Language:English
Published: New York, NY, USA ACM 31.10.2022
Subjects:
ISSN:2475-1421, 2475-1421
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
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.
ArticleNumber 133
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
  email: ritschel@cs.ubc.ca
  organization: University of British Columbia, Canada
– sequence: 2
  givenname: Felipe
  orcidid: 0000-0003-2104-6676
  surname: Fronchetti
  fullname: Fronchetti, Felipe
  email: fronchettl@vcu.edu
  organization: Virginia Commonwealth University, USA
– sequence: 3
  givenname: Reid
  orcidid: 0000-0003-4213-494X
  surname: Holmes
  fullname: Holmes, Reid
  email: rtholmes@cs.ubc.ca
  organization: University of British Columbia, Canada
– sequence: 4
  givenname: Ronald
  orcidid: 0000-0002-0982-1118
  surname: Garcia
  fullname: Garcia, Ronald
  email: rxg@cs.ubc.ca
  organization: University of British Columbia, Canada
– sequence: 5
  givenname: David C.
  orcidid: 0000-0003-2017-7842
  surname: Shepherd
  fullname: Shepherd, David C.
  email: shepherdd@vcu.edu
  organization: Virginia Commonwealth University, USA
BookMark eNptkE1Lw0AQhhepYK3Fu6e9eVrdryTNSaT4BQUveg6zu5O6mmTDbor6701pFRFPM_A8M8y8x2TShQ4JORX8QgidXaosV7LMD8hU6iJjQksx-dUfkXlKr5xzUSq9UOWUuCV0dL3xDh11aEPbh-QHHzr6gk1PsXNskzAm-h79gLSBuMZITRPsGzOQxqk-hnWENl1RoG0wvkEagwkDxY8eo2-xG07IYQ1Nwvm-zsjz7c3T8p6tHu8eltcrBqKUOcNiIWurpQalhJDcamdAFpktSqV0zi1IgwWXBkou5UhdqcEVNefFCDKjZoTt9toYUopYV9YPsP1miOCbSvBqm1K1T2n0z__4_XgwxM9_zLOdCbb9kb7hF-c5cOc
CitedBy_id crossref_primary_10_1093_iwc_iwaf028
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
Copyright Owner/Author
Copyright_xml – notice: Owner/Author
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
3563296
GrantInformation_xml – fundername: NSF (National Science Foundation)
  grantid: 2024561
  funderid: http://dx.doi.org/10.13039/100000001
GroupedDBID AAKMM
AAYFX
ACM
ADPZR
AIKLT
ALMA_UNASSIGNED_HOLDINGS
GUFHI
LHSKQ
M~E
OK1
ROL
AAYXX
AEFXT
AEJOY
AKRVB
CITATION
ID FETCH-LOGICAL-a1926-e782fc424a331120c4dba275c7933460ca2be702ba9022c4dd94ad7f0072be5b3
ISSN 2475-1421
IngestDate Sat Nov 29 07:46:24 EST 2025
Tue Nov 18 21:47:20 EST 2025
Mon Feb 24 21:14:28 EST 2025
IsDoiOpenAccess true
IsOpenAccess true
IsPeerReviewed true
IsScholarly true
Issue OOPSLA2
Keywords mobile robots
block-based programming
program decomposition
Language English
License This work is licensed under a Creative Commons Attribution 4.0 International License.
LinkModel OpenURL
MergedId FETCHMERGED-LOGICAL-a1926-e782fc424a331120c4dba275c7933460ca2be702ba9022c4dd94ad7f0072be5b3
ORCID 0000-0003-2017-7842
0000-0003-2104-6676
0000-0001-5600-2978
0000-0003-4213-494X
0000-0002-0982-1118
OpenAccessLink https://dl.acm.org/doi/10.1145/3563296
PageCount 26
ParticipantIDs crossref_citationtrail_10_1145_3563296
crossref_primary_10_1145_3563296
acm_primary_3563296
PublicationCentury 2000
PublicationDate 20221031
2022-10-31
PublicationDateYYYYMMDD 2022-10-31
PublicationDate_xml – month: 10
  year: 2022
  text: 20221031
  day: 31
PublicationDecade 2020
PublicationPlace New York, NY, USA
PublicationPlace_xml – name: New York, NY, USA
PublicationTitle Proceedings of ACM on programming languages
PublicationTitleAbbrev ACM PACMPL
PublicationYear 2022
Publisher ACM
Publisher_xml – name: ACM
References Neil Fraser. 2015. Ten things we’ve learned from Blockly. In Proceedings of the Blocks and Beyond Workshop (B&B). 49–50.
TIOBE The Software Quality Company. 2021. TIOBE Index. https://www. tiobe.com/tiobe-index.
Roland Siegwart, Illah Reza Nourbakhsh, and Davide Scaramuzza. 2011. Introduction to autonomous mobile robots. MIT press.
Christopher Scaffidi, Mary Shaw, and Brad Myers. 2005. The ‘55m end-user programmers’ estimate revisited. Institute for Software Research, International, Carnegie Mellon University.
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–241.
Marwen Abbes, Foutse Khomh, Yann-Gaël Guéhéneuc, and Giuliano Antoniol. 2011. An Empirical Study of the Impact of Two Antipatterns, Blob and Spaghetti Code, on Program Comprehension. In Proceedings of the European Conference on Software Maintenance and Reengineering. 181–190.
Renée McCauley, Scott Grissom, Sue Fitzgerald, and Laurie Murphy. 2015. Teaching and learning recursive programming: a review of the research literature. Computer Science Education, 25, 1 (2015), 37–66.
Maria Kallia and Sue Sentance. 2017. Computing teachers’ perspectives on threshold concepts: Functions and procedural abstraction. In Proceedings of the Workshop on Primary and Secondary Computing Education. 15–24.
Sofia Charalampidou, Apostolos Ampatzoglou, and Paris Avgeriou. 2015. Size and cohesion metrics as indicators of the long method bad smell: An empirical study. In Proceedings of the International Conference on Predictive Models and Data Analytics in Software Engineering. 1–10.
Beate Jost, Markus Ketterl, Reinhard Budde, and Thorsten Leimbach. 2014. Graphical programming environments for educational robots: Open roberta-yet another one? In International Symposium on Multimedia. 381–386.
Universal Robots. 2013. PolyScope Manual.
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.
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.
Simon Rose, MP Jacob Habgood, and Tim Jay. 2017. An exploration of the role of visual programming tools in the development of young children’s computational thinking. Electronic journal of e-learning, 15, 4 (2017), pp297–309.
Daniele Benedetelli. 2013. Lego Mindstorms EV3 Laboratory: Build, Program, and Experiment with Five Wicked Cool Robots. No Starch Press.
Mads Hvilshøj, Simon Bøgh, Ole Madsen, and Morten Kristiansen. 2009. The mobile robot “Little Helper”: Concepts, ideas and working principles. In Conference on Emerging Technologies & Factory Automation. 1–4.
John Maloney, Mitchel Resnick, Natalie Rusk, Brian Silverman, and Evelyn Eastmond. 2010. The scratch programming language and environment. ACM Transactions on Computing Education (TOCE), 10, 4 (2010), 1–15.
Matthew John Conway. 1998. Alice: Easy-to-learn three-dimensional scripting for novices. Ph. D. Dissertation. University of Virginia.
Geoffrey Biggs and Bruce MacDonald. 2003. A survey of robot programming systems. In Proceedings of the Australasian Conference on Robotics and Automation (ACRA). 1–3.
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–483.
Mateus Carvalho Gonçalves, Otávio Neves Lara, Raphael Winckler de Bettio, and André 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–23.
Neil Fraser. 2013. Blockly: A visual programming editor. https://code.google. com/p/blockly.
Orit Hazzan. 2008. Reflections on teaching abstraction and other soft ideas. ACM SIGCSE Bulletin, 40, 2 (2008), 40–43.
Essi Lahtinen, Kirsti Ala-Mutka, and Hannu-Matti Järvinen. 2005. A study of the difficulties of novice programmers. ACM SIGCSE Bulletin, 37, 3 (2005), 14–18.
David Weintrop, David C Shepherd, Patrick Francis, and Diana Franklin. 2017. Blockly goes to work: Block-based programming for industrial robots. In Proceedings of the Blocks and Beyond Workshop (B&B). 29–36.
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–12.
Susan Wiedenbeck, Patti L Zila, and Daniel S McConnell. 1995. End-user training: An empirical study comparing on-line practice methods. In Proceedings of the Conference on Human Factors in Computing Systems (CHI). 74–81.
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–8.
Gregorio Robles, Jesús Moreno-León, Efthimia Aivaloglou, and Felienne Hermans. 2017. Software clones in scratch projects: On the presence of copy-and-paste in computational thinking learning. In International Workshop on Software Clones (IWSC). 1–7.
David Weintrop. 2019. Block-based programming in computer science education. Commun. ACM, 62, 8 (2019), 22–25.
José Miguel Mota, Iván Ruiz-Rube, Juan Manuel Dodero, and Inmaculada Arnedillo-Sánchez. 2018. Augmented reality mobile app development for all. Computers & Electrical Engineering, 65 (2018), 250–260.
US Department of Labor. 2021. Occupational outlook handbook. https://www.bls.gov/ooh/.
David Wolber, Hal Abelson, Ellen Spertus, and Liz Looney. 2011. App Inventor. O’Reilly Media, Inc..
Barbara Rita Barricelli, Fabio Cassano, Daniela Fogli, and Antonio Piccinno. 2019. End-user development, end-user programming and end-user software engineering: A systematic mapping study. Journal of Systems and Software, 149 (2019), 101–137.
Martin Fowler. 1999. Refactoring: Improving the Design of Existing Code. Addison-Wesley.
Robert Holwerda and Felienne Hermans. 2018. A usability analysis of blocks-based programming editors using cognitive dimensions. In symposium on visual languages and human-centric computing (VL/HCC). 217–225.
ABB Group. 2021. Wizard easy programming. https://new.abb.com/ products/robotics/application-software/wizard.
Thomas R. G. Green and Marian Petre. 1996. Usability analysis of visual programming environments: A ‘cognitive dimensions’ framework. Journal of Visual Languages & Computing, 7, 2 (1996), 131–174.
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–759.
Andrew Bragdon, Robert Zeleznik, Steven P Reiss, Suman Karumuri, William Cheung, Joshua Kaplan, Christopher Coleman, Ferdi Adeputra, and Joseph J LaViola Jr. 2010. Code Bubbles: A working set-based interface for code understanding and maintenance. In Proceedings of the Conference on Human Factors in Computing Systems (CHI). 2503–2512.
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–10.
Gabriele Paolacci, Jesse Chandler, and Panagiotis G Ipeirotis. 2010. Running experiments on amazon mechanical turk. Judgment and Decision making, 5, 5 (2010), 411–419.
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).
David Weintrop and Nathan Holbert. 2017. From blocks to text and back: Programming patterns in a dual-modality environment. In Proceeding of the Technical Symposium on Computer Science Education (SIGCSE). 633–638.
Niklas Elmqvist and Jean-Daniel Fekete. 2009. Hierarchical aggregation for information visualization: Overview, techniques, and design guidelines. Transactions on Visualization and Computer Graphics (TVCG), 16, 3 (2009), 439–454.
Felienne Hermans, Kathryn T Stolee, and David Hoepelman. 2016. Smells in block-based programming languages. In Symposium on Visual Languages and Human-Centric Computing (VL/HCC). 68–72.
Amy J. Ko, Robin Abraham, Laura Beckwith, Alan Blackwell, Margaret Burnett, Martin Erwig, Chris Scaffidi, Joseph Lawrance, Henry Lieberman, and Brad Myers. 2011. The state of the art in end-user software engineering. ACM Computing Surveys (CSUR), 43, 3 (2011), 1–44.
Jeff Kramer. 2007. Is abstraction the key to computing? Commun. ACM, 50, 4 (2007), 36–42.
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).
Kashif Amanullah and Tim Bell. 2019. Evaluating the use of remixing in scratch projects based on repertoire, lines of code (loc), and elementary patterns. In Proceedings of the Frontiers in Education Conference (FIE). 1–8.
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 – reference: Andrew Bragdon, Robert Zeleznik, Steven P Reiss, Suman Karumuri, William Cheung, Joshua Kaplan, Christopher Coleman, Ferdi Adeputra, and Joseph J LaViola Jr. 2010. Code Bubbles: A working set-based interface for code understanding and maintenance. In Proceedings of the Conference on Human Factors in Computing Systems (CHI). 2503–2512.
– reference: Gabriele Paolacci, Jesse Chandler, and Panagiotis G Ipeirotis. 2010. Running experiments on amazon mechanical turk. Judgment and Decision making, 5, 5 (2010), 411–419.
– reference: Universal Robots. 2013. PolyScope Manual.
– reference: Beate Jost, Markus Ketterl, Reinhard Budde, and Thorsten Leimbach. 2014. Graphical programming environments for educational robots: Open roberta-yet another one? In International Symposium on Multimedia. 381–386.
– reference: Thomas R. G. Green and Marian Petre. 1996. Usability analysis of visual programming environments: A ‘cognitive dimensions’ framework. Journal of Visual Languages & Computing, 7, 2 (1996), 131–174.
– reference: Barbara Rita Barricelli, Fabio Cassano, Daniela Fogli, and Antonio Piccinno. 2019. End-user development, end-user programming and end-user software engineering: A systematic mapping study. Journal of Systems and Software, 149 (2019), 101–137.
– reference: 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–12.
– reference: Sofia Charalampidou, Apostolos Ampatzoglou, and Paris Avgeriou. 2015. Size and cohesion metrics as indicators of the long method bad smell: An empirical study. In Proceedings of the International Conference on Predictive Models and Data Analytics in Software Engineering. 1–10.
– reference: David Weintrop. 2019. Block-based programming in computer science education. Commun. ACM, 62, 8 (2019), 22–25.
– reference: José Miguel Mota, Iván Ruiz-Rube, Juan Manuel Dodero, and Inmaculada Arnedillo-Sánchez. 2018. Augmented reality mobile app development for all. Computers & Electrical Engineering, 65 (2018), 250–260.
– reference: 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–483.
– reference: Mateus Carvalho Gonçalves, Otávio Neves Lara, Raphael Winckler de Bettio, and André 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–23.
– reference: Amy J. Ko, Robin Abraham, Laura Beckwith, Alan Blackwell, Margaret Burnett, Martin Erwig, Chris Scaffidi, Joseph Lawrance, Henry Lieberman, and Brad Myers. 2011. The state of the art in end-user software engineering. ACM Computing Surveys (CSUR), 43, 3 (2011), 1–44.
– reference: 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–759.
– reference: Martin Fowler. 1999. Refactoring: Improving the Design of Existing Code. Addison-Wesley.
– reference: US Department of Labor. 2021. Occupational outlook handbook. https://www.bls.gov/ooh/.
– reference: David Weintrop and Nathan Holbert. 2017. From blocks to text and back: Programming patterns in a dual-modality environment. In Proceeding of the Technical Symposium on Computer Science Education (SIGCSE). 633–638.
– reference: Matthew John Conway. 1998. Alice: Easy-to-learn three-dimensional scripting for novices. Ph. D. Dissertation. University of Virginia.
– reference: Maria Kallia and Sue Sentance. 2017. Computing teachers’ perspectives on threshold concepts: Functions and procedural abstraction. In Proceedings of the Workshop on Primary and Secondary Computing Education. 15–24.
– reference: Gregorio Robles, Jesús Moreno-León, Efthimia Aivaloglou, and Felienne Hermans. 2017. Software clones in scratch projects: On the presence of copy-and-paste in computational thinking learning. In International Workshop on Software Clones (IWSC). 1–7.
– reference: Christopher Scaffidi, Mary Shaw, and Brad Myers. 2005. The ‘55m end-user programmers’ estimate revisited. Institute for Software Research, International, Carnegie Mellon University.
– reference: 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–10.
– reference: 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–8.
– reference: 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).
– reference: Geoffrey Biggs and Bruce MacDonald. 2003. A survey of robot programming systems. In Proceedings of the Australasian Conference on Robotics and Automation (ACRA). 1–3.
– reference: Susan Wiedenbeck, Patti L Zila, and Daniel S McConnell. 1995. End-user training: An empirical study comparing on-line practice methods. In Proceedings of the Conference on Human Factors in Computing Systems (CHI). 74–81.
– reference: Roland Siegwart, Illah Reza Nourbakhsh, and Davide Scaramuzza. 2011. Introduction to autonomous mobile robots. MIT press.
– reference: Simon Rose, MP Jacob Habgood, and Tim Jay. 2017. An exploration of the role of visual programming tools in the development of young children’s computational thinking. Electronic journal of e-learning, 15, 4 (2017), pp297–309.
– reference: Robert Holwerda and Felienne Hermans. 2018. A usability analysis of blocks-based programming editors using cognitive dimensions. In symposium on visual languages and human-centric computing (VL/HCC). 217–225.
– reference: John Maloney, Mitchel Resnick, Natalie Rusk, Brian Silverman, and Evelyn Eastmond. 2010. The scratch programming language and environment. ACM Transactions on Computing Education (TOCE), 10, 4 (2010), 1–15.
– reference: Neil Fraser. 2015. Ten things we’ve learned from Blockly. In Proceedings of the Blocks and Beyond Workshop (B&B). 49–50.
– reference: TIOBE The Software Quality Company. 2021. TIOBE Index. https://www. tiobe.com/tiobe-index.
– reference: Felienne Hermans, Kathryn T Stolee, and David Hoepelman. 2016. Smells in block-based programming languages. In Symposium on Visual Languages and Human-Centric Computing (VL/HCC). 68–72.
– reference: 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).
– reference: David Wolber, Hal Abelson, Ellen Spertus, and Liz Looney. 2011. App Inventor. O’Reilly Media, Inc..
– reference: Mads Hvilshøj, Simon Bøgh, Ole Madsen, and Morten Kristiansen. 2009. The mobile robot “Little Helper”: Concepts, ideas and working principles. In Conference on Emerging Technologies & Factory Automation. 1–4.
– reference: Orit Hazzan. 2008. Reflections on teaching abstraction and other soft ideas. ACM SIGCSE Bulletin, 40, 2 (2008), 40–43.
– reference: Neil Fraser. 2013. Blockly: A visual programming editor. https://code.google. com/p/blockly.
– reference: Niklas Elmqvist and Jean-Daniel Fekete. 2009. Hierarchical aggregation for information visualization: Overview, techniques, and design guidelines. Transactions on Visualization and Computer Graphics (TVCG), 16, 3 (2009), 439–454.
– reference: 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–241.
– reference: Essi Lahtinen, Kirsti Ala-Mutka, and Hannu-Matti Järvinen. 2005. A study of the difficulties of novice programmers. ACM SIGCSE Bulletin, 37, 3 (2005), 14–18.
– reference: David Weintrop, David C Shepherd, Patrick Francis, and Diana Franklin. 2017. Blockly goes to work: Block-based programming for industrial robots. In Proceedings of the Blocks and Beyond Workshop (B&B). 29–36.
– reference: Kashif Amanullah and Tim Bell. 2019. Evaluating the use of remixing in scratch projects based on repertoire, lines of code (loc), and elementary patterns. In Proceedings of the Frontiers in Education Conference (FIE). 1–8.
– reference: Jeff Kramer. 2007. Is abstraction the key to computing? Commun. ACM, 50, 4 (2007), 36–42.
– reference: Renée McCauley, Scott Grissom, Sue Fitzgerald, and Laurie Murphy. 2015. Teaching and learning recursive programming: a review of the research literature. Computer Science Education, 25, 1 (2015), 37–66.
– reference: ABB Group. 2021. Wizard easy programming. https://new.abb.com/ products/robotics/application-software/wizard.
– reference: 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.
– reference: 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.
– reference: Marwen Abbes, Foutse Khomh, Yann-Gaël Guéhéneuc, and Giuliano Antoniol. 2011. An Empirical Study of the Impact of Two Antipatterns, Blob and Spaghetti Code, on Program Comprehension. In Proceedings of the European Conference on Software Maintenance and Reengineering. 181–190.
– reference: Daniele Benedetelli. 2013. Lego Mindstorms EV3 Laboratory: Build, Program, and Experiment with Five Wicked Cool Robots. No Starch Press.
– 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
– 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
– 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
– 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
– volume-title: Running experiments on amazon mechanical turk. Judgment and Decision making, 5, 5
  year: 2010
  ident: e_1_2_1_36_1
– volume-title: Proceedings of the Conference on Human Factors in Computing Systems (CHI). 1–12
  year: 2018
  ident: e_1_2_1_46_1
– volume-title: Proceedings of the Australasian Conference on Robotics and Automation (ACRA). 1–3.
  year: 2003
  ident: e_1_2_1_7_1
– 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
– 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
– 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).
– 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
– volume-title: O’Reilly Media
  ident: e_1_2_1_50_1
– volume-title: Alice: Easy-to-learn three-dimensional scripting for novices. Ph. D. Dissertation
  year: 1998
  ident: e_1_2_1_13_1
– 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
– ident: e_1_2_1_1_1
– volume-title: Blockly: A visual programming editor
  year: 2013
  ident: e_1_2_1_18_1
– volume-title: Illah Reza Nourbakhsh, and Davide Scaramuzza
  year: 2011
  ident: e_1_2_1_42_1
– volume-title: Proceeding of the Technical Symposium on Computer Science Education (SIGCSE). 759–759
  year: 2013
  ident: e_1_2_1_21_1
– 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
– 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
– volume-title: MP Jacob Habgood, and Tim Jay
  year: 2017
  ident: e_1_2_1_40_1
– 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
– 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.2476964
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
acm
SourceType Enrichment Source
Index Database
Publisher
StartPage 233
SubjectTerms Domain specific languages
Integrated and visual development environments
Procedures, functions and subroutines
Software and its engineering
SubjectTermsDisplay Software and its engineering -- Domain specific languages
Software and its engineering -- Integrated and visual development environments
Software and its engineering -- Procedures, functions and subroutines
Title Can guided decomposition help end-users write larger block-based programs? a mobile robot experiment
URI https://dl.acm.org/doi/10.1145/3563296
Volume 6
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
journalDatabaseRights – providerCode: PRVHPJ
  databaseName: ROAD: Directory of Open Access Scholarly Resources
  customDbUrl:
  eissn: 2475-1421
  dateEnd: 99991231
  omitProxy: false
  ssIdentifier: ssj0001934839
  issn: 2475-1421
  databaseCode: M~E
  dateStart: 20170101
  isFulltext: true
  titleUrlDefault: https://road.issn.org
  providerName: ISSN International Centre
link http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwtV1Lj9MwELbKwoELjwXE8pIPwCWyyMZOHB8QqioKh31UsKC9VU7soIo0qdJ02RM_gd_MOLaTsHCAA5eocixX8nwdf55-M4PQc5FFcZrJnNBUKwL3L06EDmOSHmpd6CLnqqtb8PmIn5yk5-diMZn88LkwFyWvqvTyUmz-q6lhDIxtUmf_wdz9ojAAn8Ho8ASzw_OvDD-DX-yX3UoBk1TaKMadLAs4YbkJdKWICUxsg28NsM2gNErwxujX86_EHGnKS7a2L-g8kMG6zsBxBE2d1e2oH8CY1C76Q7DThUxnx-YvCLfM2sQifFR0ENav2q3RoHow9jBq6grGWysymOtytRmQ12dPfNBeh797_c40Q7IMuAtzj8MYcAMe_L8FnpPGd64vYjwmh8zmTns_nYzgeHq6-Hg0jcae19bTcId4ZOvB_34-MFNKg8YJjcSVCtz2TLdvrqHrEY-FkQgefx_F7ARlQCht7rVZ65Wbb6hNvh5RmxFHObuDbrnLBZ5aUNxFE13to9u-cQd2fvweUoARbDGCf8EINhjBPUZwhxFsMYJHGMEeI2-wxBYhuEMIHhByH32avz2bvSeu3QaRQPMTooEsFjmLmKQUWHiYM5VJ2IYcXDhlSZjLKNM8jDIpwH7wVgkmFS9M8flMxxl9gPaqutIPEeZCM7iKsEKElPFQZIUAj6BkkYRFXKThAdqH_VpubEGVpdvFA_TS798ydxXqTaOUcmmz5-NhIu4n-jWuTHn0x294jG4O2HuC9tpmp5-iG_lFu9o2zzpj_wTzy3_w
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.pub=ACM&rft.eissn=2475-1421&rft.volume=6&rft.issue=OOPSLA2&rft.spage=233&rft.epage=258&rft_id=info:doi/10.1145%2F3563296&rft.externalDocID=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