Switch Mode: Exploring Authoring Python inside a Block-Based Programming Environment - Lin, Yuhan (Proceedings (IEEE Symposium on Visual Languages and Human-Centric Computing), 2023)
Block-based programming is an effective way to introduce students to computer science programming [3], [7], [8]. As the researcher community keeps lowering the barrier to entry, BBP environments now support learners as young as kindergarten (age 5) [1], [3]. Block-based programming is designed to support novice learners by reducing syntax errors and supporting authoring with browsable and draggable commands. The design of BBP visually present commands that can only be fit together in the way that makes sense, just like LEGO bricks [7]. However, block-based programming is not the final goal for all learners, particularly for those who wish to pursue a career in computer science. As learners progress from elementary or middle school to high school or undergraduate studies, they are required to transition from the block-based programming environment to traditional text-based programming languages, such as Python or Java. This shift from block-based to text-based programming is not a direct one, and many learners encounter additional steps and concepts when they leave the block-based programming paradigm [4].