The Logo programming language is often described as having a low floor and high ceiling: it is easy for novices to get started (low floor) and possible for experts to work on increasingly sophisticated projects (high ceiling). In our own work (especially in recent years), we have put less emphasis on high ceilings and more emphasis on what might be called “wide walls.” That is, we have tried to design technologies that support and suggest a wide range of different explorations.I want low floor, wide walls and high ceiling
- reflections on designing construction kits for kids
Scratch - fantastic design to start with - does not have a high ceiling and smart users hit the ceiling fairly quickly. It's frustrating.
Here's a repeat of Detha Elza's scratch critique:
It also has some pretty severe limitations: no user-defined blocks, no return values, no file interaction (so no high scores), no network interaction, no dynamic object creation, the program cannot draw on sprites (only on the background), no string variables or any real string handling. It is a great environment for learning to think creatively within its constraints, but my kids also bump up against its limits pretty quickly.I could start my own list of "scratch annoyances" but the real problem is the theoretical underpinning of Papert's "epistemological pluralism" and Resnick / Silverman's lowering of the ceiling, then it has to be tackled at that level, perhaps.
- the importance of visual programming