Enriching block-based end-user programming with visual features
department or school: Science, Faculty of
department or school: Computer Science, Department of
data provider: DSpace
degree campus: UBCV
creator: Ritschel, Nico
issued: 2023-11-02T18:38:03Z
issued: 2023
related degree: Doctor of Philosophy - PhD
degree grantor: University of British Columbia
description: Today, most programmers are not professional software developers, but end-users with limited training and experience in programming. End-user-friendly programming languages and tools aim to support this type of user, and many use visual programming aids to do so. Block-based programming is a popular visual programming style that has been effectively used in computer science education and is the foundation for many modern end-user programming tools. Because of the popularity of block-based programming, language designers can use a rich set of existing technologies that save them the effort of creating visual programming designs from scratch. However, many language designers ignore that block-based programming was created with learners in mind, who have different needs than end-users. Especially when programs grow in size and complexity, blocks offer little support to help end-users understand and edit programs effectively. In our work, we augment block-based programming with visual features that extend the range of programs that end-users can comprehend and write. In particular, we create languages and environments for the domain of robotics programming that allow end-users to write larger and more expressive programs. We focus on three scenarios that represent challenges that end-users face in this domain: coordinating multiple robots that work in tandem, writing large programs that span several workstations in different locations, and reacting to external signals such as machines or user interactions. For each environment, we first discuss the limitations of existing work in the areas of block-based and end-user programming. We present and discuss the design of our visual extensions with the goal to maintain end-user-friendliness. Finally, we evaluate our work through empirical studies, both formative to inform our designs and summative to demonstrate their benefits. Our designs, and the empirical and analytical process that we applied to create them, both contribu…
aggregated CHO: https://circle.library.ubc.ca/rest/handle/2429/86428
note: Enriching Block-based End-userProgramming with Visual FeaturesbyNico RitschelB.Sc., Technische Universita¨t Darmstadt, 2015M.Sc., Technische Universita¨t Darmstadt, 2017A THESIS SUBMITTED IN PARTIAL FULFILLMENT OFTHE REQUIREMENTS FOR THE DEGREE OFDOCTOR OF PHILOSOPHYinThe Faculty of Graduate and Postdoctoral Studies(Computer Science)THE UNIVERSITY OF BRITISH COLUMBIA(Vancouver)November 2023© Nico Ritschel 2023The following individuals certify that they have read, and recommend tothe Faculty of Graduate and Postdoctoral Studies for acceptance, the thesisentitled:Enriching Block-based End-user Programming with VisualFeaturessubmitted by Nico Ritschel in partial fulfillment of the requirements forthe degree of Doctor of Philosophy in Computer Science.Examining Committee:Reid Holmes, Professor, Computer Science, UBCSupervisorRonald Garcia, Associate Professor, Computer Science, UBCCo-supervisorIvan Beschastnikh, Associate Professor, Computer Science, UBCSupervisory Committee MemberMichael J. Feeley, Associate Professor, Computer Science, UBCUniversity ExaminerNing Nan, Associate Professor, Sauder School of Business, UBCUniversity ExaminerAmy J. Ko, Professor, The Information School, University of WashingtonExternal ExamineriiAbstractToday, most programmers are not professional software developers, butend-users with limited training and experience in programming. End-user-friendly programming languages and tools aim to support this type of user,and many use visual programming aids to do so. Block-based programmingis a popular visual programming style that has been effectively used in com-puter science education and is the foundation for many modern end-userprogramming tools. Because of the popularity of block-based programming,language designers can use a rich set of existing technologies that save themthe effort of creating visual programming designs from scratch. However,many language designers ignore that block-based programming was createdwith learners in mind, who h…
has type: Thesis/Dissertation
date issued: 2024-05
is shown at: 10.14288/1.0437515
language: eng
degree discipline: Computer Science
provider: Vancouver : University of British Columbia Library
publisher: University of British Columbia
rights: Attribution-ShareAlike 4.0 International
rights URI: http://creativecommons.org/licenses/by-sa/4.0/
scholar level: Graduate
contributor: Holmes, Reid
contributor: Garcia, Ronald (Professor of computer science)
type: Text
identifier URI: http://hdl.handle.net/2429/86428