SWITCH MODE: SCAFFOLD LEARNERS FROM BLOCK-BASED PROGRAMMING TO TEXT-BASED PROGRAMMING
Files
Publication or External Link
Date
Authors
Advisor
Citation
DRUM DOI
Abstract
Block-based programming environments have become increasingly commonplace in computer science education. Despite a rapidly expanding ecosystem of block-based programming environments, text-based languages remain the dominant programming paradigm outside of educational contexts, motivating the transition from block-based to text-based programming. Supporting students in transitioning from block-based to text-based programming is an important and open design question. This dissertation presents the design and evaluation of a novel hybrid programming environment, Switch mode, to scaffold learners from block-based to text-based programming.Switch mode blocks allow learners to write text-based commands inside of blocks within a conventional block-based programming environment. Switch mode blocks can be added by either directly drag-and-dropping them into a program or by right clicking a block and converting it into a Switch mode block. This scaffolded approach can support learners in transitioning from block-based programming to text-based programming. This dissertation understands students’ perception and how they author in Switch mode. Findings from coding activities presents an analysis of the eight distinct strategies that learners developed to compose programs using Switch mode blocks. This categorization of programming strategies contributes to our understanding of how we can design environments that support students of varying levels of prior experience and confidence in transitioning from introductory (block-based) to more powerful (text-based) programming modalities. Findings from the classroom study shows how novices were able to smoothly move from block-based to text-based programming with the help of Switch mode blocks. The case study on the differing experiences of two students with differing prior programming experiences shows how Switch mode supported both students and helped them find their level of comfort with programming. This dissertation demonstrates the potential of hybrid programming environments that can support learners in developing distinct programming approaches suited to their confidence, preference, and previous experiences. Collectively this work contributes to our understanding of the hybrid programming environment and can be used to inform the tools that will scaffold the next generation of learners. This work will help prepare learners to excel in a computationally driving world.