Programming by voice: a hands-free approach for motorically challenged children
Files
Date
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract
Computer Science (CS) educators frequently develop new methodologies, languages, and programming environments to teach novice programmers the fundamental concepts of CS. A recent trend has focused on new environments that reduce the initial challenges associated with the heavy syntax focus of textual programming languages. There are numerous Initial Programming Environments (IPEs) available that have been created for student use that in some cases have fostered self-discovery and inquiry-based exploration. In this dissertation, three IPEs are discussed: Scratch (2015), Lego Mindstorms (2015), and Blockly (2015). Although the block-based nature of IPEs can be helpful for learning concepts in CS, a small group of students (approximately 5%) is being left out from learning experiences and engagement in CS due to block-based environments’ dependence on the Windows Icon Mouse Pointer (WIMP) metaphor. Block-based environments often require the use of both a mouse and keyboard, which motorically challenged users often are unable to operate. Based on research performed and presented in this dissertation, a Vocal User Interface (VUI) is a viable solution that offers a “Programming by Voice” (PBV) capability (i.e., a capability to describe a program without using a keyboard or mouse). However, adapting legacy applications can be time consuming, particularly, if multiple applications (such as the three IPEs previously mentioned) require specialized VUIs. Each environment has its own visual layout and its own commands; therefore, each application requires a different VUI. In order to create a more generic solution, a Domain-Specific Language (DSL) can be applied to create a semi-automated process allowing a level of abstraction that captures the specific needs of each IPE. From the specification of each IPE, a customized VUI can be generated that integrates with the legacy application in a non-invasive manner. The nine chapters included in this dissertation were motivated by the following four research questions: 1. How can we improve initial programming instruction? 2. Can all children participate in programming instruction? 3. How do we implement PBV to allow children to take advantage of creative, block-based programming environments? 4. What are some potential ideas that can assist in generalizing the process of voice enabling IPEs?