Learnable Programming: Blocks and Beyond
David Bau, Jeff Gray, Caitlin Kelleher, Josh Sheldon, Franklyn Turbak

TL;DR
This paper discusses how blocks-based programming enhances learnability for beginners by reducing cognitive load and errors, and explores new frameworks that expand its accessibility across diverse programming domains.
Contribution
It provides an analysis of how blocks environments improve learning and introduces new frameworks that facilitate access to various APIs for novices and experts.
Findings
Blocks environments favor recognition over recall.
They reduce cognitive load for learners.
New frameworks enable access to diverse APIs.
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsTeaching and Learning Programming · Spreadsheets and End-User Computing · Scientific Computing and Data Management
