Since their introduction in the early 1990s, blocks have been a valuable contribution to efforts to ease the complexities of writing software. Ample evidence indicates that they can make it easier for beginners to learn to program, primarily by reducing or eliminating syntax errors. Unfortunately, however, syntactical difficulties are only a small part of what makes programming difficult, and blocks do little to assist with many other problems in learning to program. Workshops and other venues focused on blocks qua blocks offer an unnecessarily limiting frame in which to discuss the breadth of problems and possible approaches that researchers could adopt in order to design more effective environments for people learning to program. In this talk, I will illustrate ways in which deeper issues in the design of runtime environment semantics, library/API design, and in the overall conception of how one designs programs within popular blocks tools present problems that cannot be solved via blocks alone, and necessitate a more expansive set of design discussions.
Ben Shapiro is an Assistant Professor in the ATLAS Institute, the Department of Computer Science and, by courtesy, in the School of Education and the Department of Information Science at the University of Colorado Boulder. His research group, the Laboratory for Playful Computation, investigates how to enable kids from diverse backgrounds to learn computer science through collaborative, creative expression and through the design of networked technologies to solve problems in their homes and communities. He received his PhD in Learning Sciences from Northwestern University and was a postdoctoral fellow at the University of Wisconsin—Madison.