Learnable Programming: Blocks and Beyond
arXiv:1705.09413 · doi:10.1145/3015455
Abstract
Blocks-based programming has become the lingua franca for introductory coding. Studies have found that experience with blocks-based programming can help beginners learn more traditional text-based languages. We explore how blocks environments improve learnability for novices by 1) favoring recognition over recall, 2) reducing cognitive load, and 3) preventing errors. Increased usability of blocks programming has led to widespread adoption within introductory programming contexts across a range of ages. Ongoing work explores further reducing barriers to programming, supporting novice programmers in expanding their programming skills, and transitioning to textual programming. New blocks frameworks are making it easier to access a variety of APIs through blocks environments, opening the doors to a greater diversity of programming domains and supporting greater experimentation for novices and professionals alike.
Cited by in corpus (9)
- Common Bugs in Scratch Programs
- Augmented Math: Authoring AR-Based Explorable Explanations by Augmenting Static Math Textbooks
- Technical Dimensions of Programming Systems
- Control Flow Versus Data Flow in Distributed Systems Integration: Revival of Flow-Based Programming for the Industrial Internet of Things
- When Children Program Intelligent Environments: Lessons Learned from a Serious AR Game
- Scaffolding Progress: How Structured Editors Shape Novice Errors When Transitioning from Blocks to Text
- On the Applicability of Language Models to Block-Based Programs
- Common Patterns in Block-Based Robot Programs
- Draw This Object: A Study of Debugging Representations