Award Date
May 2024
Degree Type
Dissertation
Degree Name
Doctor of Philosophy (PhD)
Department
Computer Science
First Committee Member
Andreas Stefik
Second Committee Member
Hal Berghel
Third Committee Member
Laxmi Gewali
Fourth Committee Member
Fatma Nasoz
Fifth Committee Member
Gregory Moody
Number of Pages
247
Abstract
Computers are ubiquitous in our lives, so skilled workers are needed to create the software these devices require to operate. Computer science education, and more broadly, computational thinking are critical to sustaining innovation and economic growth. Much of the research on early computer science education focuses on block-based programming languages, a subset of visual programming languages. The intent behind block languages is to provide novices an introduction into computer science principles and programming in general, but there is a longstanding issue with learners' transitional friction from block-based languages to the more professionally used text-based languages. This makes the current use of block languages predominantly narrow in scope: teaching just the basics of programming. Barring the rare exceptions of using block languages for a full course, most pedagogy utilizes block-based programming for a matter of mere weeks before transitioning to text-based languages. Students initially learning with block modalities typically learn programming fundamentals faster than those who start with text modalities, but the differences tend to level off after the block-based learners transition to text-based programs, which calls into question the benefits of starting in blocks. This transitional friction from block languages to text languages arguably hinders the educational scaffolding required to develop students into professionals, so addressing the sources of this friction is paramount to the educational process.
The first original empirical study is an investigation into the interaction of visual attributes of block-based programming languages, which could help or hinder a programmer's ability to read the program's code. The techniques were applied in a study of 30 professional programmers and 57 students from the University of Nevada, Las Vegas for a total of 87 participants across four treatment groups. In that first empirical study, we were able to quantitatively determine that colors and color categorization are beneficial for both novices and professionals. We recommend to have block-based programming environments employ a left-margin aligned programming interface with even spacing instead of an open palette. Distinct block shapes appear to be beneficial, although more testing is needed to determine what shapes make most sense. Adding the capability to have comments and line numbers would be beneficial for novices and professionals alike. This analysis lends itself to ongoing development on existing block languages to ease current learners' transition from block languages to text languages.
The second original empirical study is an investigation into the features and functionality, or tools, of an integrated development environment (IDE) for a block-based language. The study particularly focuses on what an IDE needs to have available for developers to be able to perform adequately as well as what types of context-aware capabilities an IDE could have to accelerate development practices. The study consisted of 21 professional programmers and 102 students from the University of Nevada, Las Vegas for a total of 123 participants, all of whom were in a single group, and we analyzed their responses both together and per experience group. The results indicate that a context-aware IDE for a block-based language would be beneficial; thus, we recommend different sets of tools depending on the programming scenario. One important finding is that, regardless of scenario, developers consistently rated example code as one of the most helpful tools. We began the investigation hypothesizing that novices and professionals might have very different needs. After our survey, however, we noted far more overlap than we expected in terms of the type of information that both groups claimed were helpful. The key contribution of this research project is to investigate the initial key components of a block-based language and accompanying IDE that could scale in utilization from very young learners up through to professional programming activities. If such a language and environment existed, it might reduce the transitional friction between products that the community thought were only for children to those we presume might be only for professionals.
Keywords
block languages; blocks; computational thinking; computer science education; human computer interaction; integrated development environment
Disciplines
Computer Sciences | Education | Library and Information Science
Degree Grantor
University of Nevada, Las Vegas
Language
English
Repository Citation
Hoffman, Alex, "An Empirical Investigation into the Transitional Friction of Block-Based Programming Languages" (2024). UNLV Theses, Dissertations, Professional Papers, and Capstones. 5006.
http://dx.doi.org/10.34917/37650829
Rights
IN COPYRIGHT. For more information about this rights statement, please visit http://rightsstatements.org/vocab/InC/1.0/
COinS