Block-based languages are a family of programming languages that are based on the idea of drag-and-drop instead of typing.
Talks from Tapestry Workshops
|Charters, Cristy||Visual Programming Languages||Florida 2013||Slides (pdf)|
|Jurist, Mel||Using Pico Boards with Scratch||Delaware 2011||Slides (pptx)|
|Keller, Leslie||Teaching with Mobile Devices||North Carolina 2012||Slides (pptx) Slides (pdf)|
|Minich, Curt||App Inventor||Pennsylvania 2012||Google doc|
|Patel, Nilesh||Mobile Applications||Michigan 2012||Slides (pdf)|
- Alice is focused on creating programmatic 3D animations and interactive games, and its descendent Looking Glass focussed on story telling. Has built-in tutorials. Alice and its descendants are known to occasionally crash (save often).
- App Inventor is for making Android apps.
- Scratch and its descendant BYOB (which has now been merged with its web-based descendent Snap) are focused on creating 2D drawings. See also the Scratch educator's site and Colleen M. Lewis's example Scratch curriculum.
See also the Computational Thinking example curricula, many of which use block-based languages.
Anecdotally, students often learn the color of the blocks instead of their text.
Syntax Errors are basically impossible using block-based languages. Because of this, they typically cause fewer headaches and encourage more experimentation among early students than do text-based languages. On the other hand, this kind of development has not yet been used “in the wild” (i.e., by professionals) and many people find the interface a bit awkward.
Anecdotally, some people suggest that students who are good at block-based programming do not think of themselves as knowing how to program. So far this has, to my knowledge, neither been substantiated nor refuted experimentally.