For decades, the dream of programming computers without words or the ability to make syntax errors had eluded computer scientists. Today, is the dawn of a new era in block programming languages designed for children to learn with, control their world, solve problems, and express themselves.
We are deliberately rejecting commercial copycats of Scratch with puzzles, tests, scoring, and other mindless school-like activities built-in. (Tynker, Hopscotch, Code.org fall in this category) The point of a good programming language is that it should be usable for more than an hour or until your chicken nuggets arrive at Applebees. A good programming language has a low threshold and no ceiling.
Scratch (Mac, Windows, Linux)
Scratch 2.0 is the global phenomena designed for kids to remix culture via computer programming. Version 2.0 is browser based and features a library of more than 8 million projects you can play, explore, remix, and reuse for your own purposes. Scratch even translates its language blocks between countless languages.
Pros: A real programming language with an enormous community built around it. Runs in a browser and has two offline editors (versions). Great for animation, game design, and storytelling. Can be used to program LEGO WeDo robotics sets. Features are added judiciously and slowly.
Cons: Intended for children to learn on their own without adult intervention. Therefore, the language itself is not as powerful as others (such as SNAP!) Not as good for learning powerful mathematical ideas. For that MicroWorlds or SNAP! are a better option. Features are added judiciously and slowly.
- Scratch 2.0
- Download Scratch 2.0 Offline Editor
- Download Scratch 1.4
- Scratch Jr. for the iPad and Android
- The ScratchEd web site for educators
- The best book written about Scratch, Super Scratch Programming Adventure! Learn to Program by Making Cool Games
- Other Scratch books
- Colleen Lewis’ library of Scratch YouTube tutorials
SNAP! (Mac, Windows, Linux, iPad, Android)
SNAP! is a browser-based version of Scratch created by Dr. Brian Harvey and Jens Mönig intended to be used to learn powerful computer science principles. It features first-class objects, recursion, and the ability to “build your own” blocks.
Pros: SNAP! is used to teach introductory computer science at UC Berkeley and as part of the Beauty and Joy of Computing Curriculum being developed to prepare high school students for the AP Computer Science Essentials (CS for non-CS majors) course/test coming soon. It works just like a Scratch, but is more powerful, is easier to extend via plug-in libraries of blocks, and runs on tablets. SNAP! is also a great way to program the Hummingbird Robotics Kit.
Cons: The MIT meanies won’t allow SNAP! projects to be shared in the web-based Scratch community. The cloud is occasionally unreliable, especially in schools. There are no cute sprites built into SNAP!, but your turtle can wear any shape you create or borrow, just like in Scratch.
- Run SNAP! now
- Check out the text and video based Beauty and Joy of Computing Course
- Use Devices with SNAP!
- Orbotix Sphero guide by Connor Hudson and Dan Garcia
- Lego NXT package by Connor Hudson
- Nintendo Wiimote package by Connor Hudson
- Finch and Hummingbird robots package by Tom Lauwers
- Parallax S2 robot package by Connor Hudson
- LEAP Motion by Connor Hudson
- Speech synthesis by Connor Hudson
- Arduino package by Alan Yorinks
- Arduino package by Bernat Romagosa/Citilab
Turtle Art (Mac, Windows, Linux)
Ingenious software environment in which mathematical ideas become beautiful works of art. Kids from 5 to 100 immediately find objects to think with and explore powerful ideas as soon as they boot Turtle Art.
Pros: The elegance and focus of Turtle Art makes it possible to create art out of math without a lot of other interface or language distractions. Turtle Art is a limited set of Logo primitives. The software brilliantly saves the program and its artistic artifact in the same file. So, if you open the file in any other software, you see an image. Open it in Turtle Art, even by dragging a thumbnail from the Web and the code comes with the art!
Cons: The Java-based nature of Turtle Art makes it occasionally freeze while in-use. Wise Turtle Art programmers save often. You need to request the software from its creators.
- Turtle Art Image Gallery
- Turtle Art tutorials
- Gary Stager’s Turtle Art activity cards created by Brian Silverman and Artemis Papert
- Early mathematics activities for Turtle Art by Gary Stager
Beetle Blocks (Mac, Windows, Linux, maybe tablets)
Beetle Blocks is a browser-based graphical blocks-based programming environment for 3D design and fabrication. Use code to control a beetle that can place 3D shapes and extrude its path as a tube. Then make a 3D print! Beetle Blocks is based on Scratch and Snap! By Eric Rosenbaum (co-inventor of MaKey MaKey, Drawdio, and a host of other cool tinkering toys) and Duks Koschitz, with software development by Bernat Romagosa and Jens Moenig.
Pros: Program something in 3D and then print it on a 3D printer!
Cons: Alpha software!
- Beetle Blocks web site
Pros: Runs on an iPad. Free. Controls cool toys!
Cons: App Store searching for Tickle is an unpleasant experience. Don’t know why the “turtle” is a killer whale.
- Get Tickle for the iPad
Pocket Code is a version of Scratch that allows you to program on and for your Android device, even a phone. The creators have done a monumental job of making the software work with an assortment of external devices.
Pros: Works on Android devices and allows you to program on the very same device. Performs a whole bunch of really cool tricks. Has its own Web-based library of projects, apps, and games created with Pocket Code.
Cons: Only works on Android platform and I have yet to be able to install it successfully on my Samsung tablet.
- Pocket Code web site
Google App Inventor (Android)
App Inventor, originated at MIT by a team led by veteran Logo pioneer Hal Abelson, allows users to create apps for Android devices. Creating an App Inventor app begins in your browser, where you design how the app will look. Then, like fitting together puzzle pieces, you set your app’s behavior. All the while, through a live connection between your computer and your phone, your app appears on your phone.
Pros: Kids who can make sense of Scratch or SNAP! can make working phone apps.
Cons: Android only. A bit more complex, especially on the design side. One never knows how long it will take for Google to lose interest in a product. Still listed as beta software.
- Try App Inventor
Blockly (Windows, Mac, Linux, tablets)
Cons: The open source nature of the software makes it hard to keep up with changes, improvements, etc. It is not intended as a learning language, but as a development one.
Blockly web site
Turtle Blocks (Mac, Windows, Linux)
Turtle Blocks is an expanded version of Turtle Art developed by Walter Bender and a team at Sugar Labs. Originally intended for the XO ($100 laptop), Turtle Blocks may be run on a variety of platforms and can even control external devices.
Pros: More functionality than Turtle Art with a greater focus on mathematical problem solving than Scratch. Continuously improved and expanded.
Cons: May be a bit tricky to install on your computer and is a more complex system than Turtle Art. The interface may take a bit of getting used to.
- Turtle Blocks web site