![mobile robot](/sites/default/files/styles/news_header_image/public/2022-09/Mobile%20robot.jpg?h=06e0ee82&itok=LVIevfFf)
UBC CS researchers introduce a program decomposition system to guide end-users
In a recently published paper, UBC Computer Science researchers, along with two researchers from Virginia Commonwealth University (VCU), introduce a block-based system that provides users with a hierarchical, domain-specific program structure and requires them to decompose their programs accordingly.
The paper will be presented at the conference on Object-oriented Programming, Systems, Languages (OOPSLA 22).
Can Guided Decomposition Help End-Users Write Larger Block-Based Programs?
A Mobile Robot Experiment. Nico Ritschel (UBC PhD student), Felipe Fronchetti (VCU), Reid Holmes (UBC CS associate professor), Ronald Garcia (UBC CS associate professor), David C. Shepherd (VCU)
![Ron, Reid and Nico](/sites/default/files/inline-images/Ron%2C%20Reid%20and%20Nico.jpg)
The primary contributions of the work are:
- The design and implementation of a programming environment that guides end-users as they decompose their programs
- A study of 92 novice participants that found that few of those who used a traditional block-based environment used abstractions to decompose their programs
- Evidence from said study that suggests that a system that makes decomposition mandatory and guides users as they apply it can improve their performance when solving tasks
The domain which this study targets is one-armed mobile robot workers and the challenges that programmers (and end-user programmers in particular) face when they structure their programs using block-based programming languages.
![Robot](/sites/default/files/inline-images/Mobile%20robot%20experiment.jpg)