Syntax is a royal pain in the neck for beginning programmers. It’s hard to teach both a new (programming) language and a new way of thinking and problem solving at the same time. This tends to be a big stumbling block for teaching a lot of basic computing concepts. For years there have been tools developed that remove syntax from the equation. Alice and Scratch are probably the most well-known and popular of these tools. But there are other options and I find that many people don’t know about them all. I’m not sure I know them all but I do know something about a bunch of them. I thought it might be useful to list the ones I know about to help others find what might work for them. Feel free to tell me about any I am missing BTW. I’m always looking for new things to try.
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.
- 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.
- 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.