Giant Digi-Comp II using pool balls.
http://digi-compii.com/ An extra-large recreation of the classic 1960's educational mechanical computer kit
http://digi-compii.com/ An extra-large recreation of the classic 1960's educational mechanical computer kit
The video is simple: A father and daughter, single camera, his upside-down guitar (he's a lefty playing a standard guitar) and a good song.
Fortunately, there are a number of great tools to teach programming to K-12 students, along with a lot of resources for computer science teachers:
1. Scratch
Developed by the MIT Media Lab, Scratch is a graphical programming language for children age 8 and up. Since its release in 2007, over one million projects have been shared on the site. That sharing aspect is important as projects posted are available to others to download and remix. Scratch is available free of charge, and runs on Mac, Windows, and Linux computers. For those working in Scratch, the new Scratch Wiki is a good resource.
2. App Inventor
In July, Google announced the launch of the Android App Inventor. App Inventor uses building blocks, of sorts, to help you design your own Android applications. Like Scratch, the App Inventor has roots at MIT, as the project was led by Professor Harold Abelson, quoted in a New York Times interview as saying that the goal of the App Inventor "is to enable people to become creators, not just consumers, in this mobile world."
App Inventor is still in closed beta, but it was mentioned in our survey of teachers' most anticipated back-to-school tech tools. If you're interested in App Inventor, the Google Group is very active.
3. Alice
Alice is a free and open source 3D programming environment designed to teach students object-oriented and event-driven programming. In 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.
4. Lego Mindstorms
Lego was recently voted the "most popular toy ever," and despite all the wounds from stepping on my son's Legos while barefoot, I am still remarkably fond of the toy. Add programmable robotics to the mix, and you have Lego Mindstorms.
There are numerous other programs aimed at the K-12 level, including Small Basic, CHERP, Kodu, and of course BASIC.