All of these tools have some great features and either university or private research behind the development. Curriculum for them can be found through their web sites or Internet searching. Textbooks exist for some of them as well. They’re listed in no particular order so check out something new to you.
- Alice Alice is a 3-d environment from Carnegie Mellon. It is probably the most popular and best known of all of these tools as CMU has been promoting it for some years. It can be a bit resource intensive but the ability to create 3D worlds is a big plus. The latest version, Alice 3.0, allows users to export to Java programs. This makes Alice very popular with APCS teachers.
- Kodu is a coding environment originally developed by Microsoft Research for the Xbox 360 but now also available for Windows PCs. It is highly graphical with a simple When/Do model of programming. Designed for younger students (8 is the target age) it is very usable by precocious younger students and powerful enough for older students.
- Scratch Scratch was developed at MIT at the Lifelong Kindergarten Research Group. This 2D platform is less resource intensive than Alice and Kodu. The Scratch web site with its sharing and social abilities really adds to the value of the Scratch platform.
- Scratch Jr is a version of Scratch for even younger children.
- Snap! (formerly BYOB – Build Your Own Blocks) Snap! nee BYOB is an expansion of Scratch that has been developed at the University of California at Berkeley. It adds new blocks and OOP features. It’s being used by a number of AP CS Principles pilots. Snap 4.0 is currently in early beta but the cool thing about it for many schools is that it is completely web browser based so no software installation.
- App Inventor for Android Think about App Inventor as being Scratch for developing Android phone apps and you get the basic idea. While not strictly Scratch is was developed by people from both Google and MIT. It resides at MIT these days and is being developed there using ideas from Scratch, Blockly and other sources as a teaching language. For students (and their teachers) who want to get into phone apps it is about the easiest tool there is. It is mostly web based as well.
- Tickle is a fairly new product (Released: Mar 24, 2015 on iTunes) on the Scratch model. “Tickle is the world's first app that enables anyone to program an air drone. You can now program the Sphero robotic ball, Parrot mini quad copter, and Philips Hue lighting system, all wirelessly right from your iPad.” I don’t own any of the supported devices to try it out. Let me know if you do and what you think of it.
- Squeak eToys is the grand daddy of all these tools. Designed by Alan Kay as an implementation of SmallTalk it has influenced all the block languages that have followed. It is still being developed and is quite current. While not as well known, in my experience, as some of the others it is well worth looking at seriously. [Note: I left this out of the first version of this post for which I apologize. I really meant to include it.]
- Daisy the Dinosaur is a free iPad app for introducing some very simple programming to young people. It is very basis and very limited right now. I don’t know much about it but if you have an iPad and younger children it is worth a try. It may lead to something more like Kodu or Scratch or Alice as time goes on and they want more. Not many of the other tools work on the iPad other than in the browser so this may be a fun app for many. Thanks to Doug Peterson for the link (Exercise Makes You Grow)
- Hopscotch is another iPad app from the same people who created Daisy the Dinosaur. It’s a lot like a very basic Scratch and pretty limited as of this review (Hopscotch–Visual Programming for iPads). But it does run on an iPad and that makes it accessible to a lot of people.
- Stencyl borrows heavily from Scratch but is focused on creating games. Games may be created and published for iOS, Android, HTML5, Windows and Mac according to the web site.
- Move the Turtle (available for iPhone/iPad, $2.99): From what I read this is a lot like Daisy the Dinosaur. The object of Move the Turtle is to use commands to move the turtle though a series of puzzles.
- Spherly is a web-based programming environment that allows programs to be written using a block language to control a Sphero robot. Project URL: http://outreach.cs.ua.edu/spherly/
Pixly provides a block language for exploring topics in media computation; particularly, the manipulation of pixels within an image to support red-eye removal, chroma key, etc. Project URL: http://outreach.cs.ua.edu/pixly/
- PocketCode allows you to create your own games, animations, interactive music videos, and many kind of other apps, directly on your Android phone or tablet.
- RoboMind RoboMind is software specifically developed to support technology education. By programming a robot, students learn about logic, computer science and robotics.
- Waterbear Waterbear is a toolkit for making programming more accessible and fun. Having a visual language means you don't have to focus on learning a syntax to start programming.