mobile robot

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
Dr. Ronald Garcia, Nico Ritschel and Dr. Reid Holmes of UBC Computer Science

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.

One-armed robot, the target of the study