Programming for Kids

5 Tools to Introduce Programming to Kids
5 Tools to Introduce Programming to Kids | MindShift - http://blogs.kqed.org/mindshift/2011/05/5-tools-to-introduce-programming-to-kids/

Scratch
 * "Developed by the MIT Media Lab, Scratch is a visual programming language for children age 6 and up. Since its release in 2007, over 800,000 users have joined the Scratch website and have shared over 1.7 million projects — from games to animations. That sharing aspect is an important part of the Scratch community, so the projects that are uploaded to the site are licensed under the Creative Commons attribute and share alike license so that others can download and remix them. Scratch is available free of charge and runs on Mac, Windows, and Linux computers."

Alice
 * "Alice is a free and open source 3D programming environment designed to teach students object-oriented and event-driven programming. With Alice, students drag and drop graphic tiles in order to animate an object and create a program. A variant of Alice, Storytelling Alice was developed by Caitlin Kelleher as part of her doctoral work in Computer Science at Carnegie Mellon University. By emphasizing animations and social interactions, this approach was found to greatly increase the level of student interest in programming."

Hackety Hack
 * "Hackety Hack is an open source application that teaches the basics of programming in the popular Ruby language. Hackety Hack offers an interactive tutorial that runs on Windows, Mac, and Linux operating systems. While both Scratch and Alice use a graphical programming language with “blocks,” Hackety Hack teaches the basics of Ruby syntax. The tutorial and the text editor are well-integrated, so there isn’t any flipping back-and-forth to move between the How-To guide and the actual coding. Hackety Hack gives students a solid foundation in the language so they can quickly and easily start building their own apps in Ruby."

Arduino
 * "Arduino is an open-source electronics prototyping platform with both hardware and software components. Arduino’s hardware is programmed with a language similar to C++, and although it may not be the easiest of entry points for learning programming, there’s something about building things that actually move that can be pretty compelling. Projects that use Arduino to introduce children to programming include a modification of Scratch to support simple programming on the Arduino hardware. As Google recently announced that it would allow Android mobile devices to communicate with Arduino hardware, look for more opportunities to work with this platform in the future, perhaps even via the Android App Inventor, a tool that provides a visual interface for building Android apps."

Lego Mindstorms
 * "One of the most popular toys in history, Lego may be best known for its brick-building. But Lego Mindstorms also enables robotics-building. Lego Mindstorms’ kits — which can be purchased in educational and consumer versions — include sensors and motors, and the programming is command-box rather than code programming. The kits come with languages supplied by Lego, but can be modified to work with third party languages. Like several of the tools on this list, Lego Mindstorms has its roots at the MIT Media Lab."

Scratch
Scratch - http://scratch.mit.edu/

Getting Started guide - http://info.scratch.mit.edu/sites/infoscratch.media.mit.edu/docs/ScratchGettingStartedv14.pdf