Programming Language Design Considerations for Voice-enabled Coding

Loading...
Thumbnail Image

Files

URL

Journal Title

Journal ISSN

Volume Title

Sähkötekniikan korkeakoulu | Bachelor's thesis
Electronic archive copy is available locally at the Harald Herlin Learning Centre. The staff of Aalto University has access to the electronic bachelor's theses by logging into Aaltodoc with their personal Aalto user ID. Read more about the availability of the bachelor's theses.

Department

Mcode

ELEC3056

Language

en

Pages

30

Series

Abstract

Voice-enabled coding as an alternative to the traditional keyboard interface has become a relevant topic in academic research in the recent 20 years. It has been previously studied as an accessibility aid for individuals with repetitive strain injury, as well as other motor impairments. Furthermore, modern programming languages increasingly apply user-centered principles in their design to improve their usability and accessibility, as the usability of a programming language directly affects the ability for users to perform tasks in it. Given that programming by voice is a field also concerned with the usability of programming languages, it is natural to consider whether research into voice-enabled programming systems can aid in the development of traditional programming languages' usability. This thesis performs a literature review to analyze the intersection of voice-enabled coding and user-centered programming language design and the implications of such design on the usability of programming languages. Within syntax, it compares text and audio media's implications on programming systems, identifying punctuation and variable case as features that impact the usability of both spoken and keyboard-based programming. In the context of program structure, the thesis classifies the grammatical complexity of natural languages and programming languages, evaluating the capability for one to embed grammatical structures within the other. As a result, this capability can be applied to improve programming language usability, spoken or not. Furthermore, the effect of programming paradigm on the usability of programming languages is found to be significant. Aggregate operations in particular are one language feature for improving usability through programming paradigm. A case study was performed, comparing participants' ability to recreate existing programs in various programming languages by voice. The results identified programming language features that affected users' ability to program, including the presence of natural language as well as special characters in code. The data presented in the study aligns with results in the literature, thus validating the experiment.

Description

Supervisor

Ylirisku, Salu

Thesis advisor

Vujaklija, Ivan

Other note

Citation