If you dismissed App Inventor as clunky or are just learning about this educational tool, take a look at the alpha version.
App Inventor has been around since 2010 — first as a Google maintained project, and then it was handed off to the Massachusetts Institute of Technology (MIT). Through the years I've experimented with App Inventor with varying degrees of success. However, I find the new alpha is easy to get the hang of and is quite stable.
What is App Inventor?
The idea behind App Inventor is that, by using an entirely visual tool, computer-programming concepts can be taught in a manner similar to fitting the pieces of a puzzle together. I think the appeal of App Inventor over similar tools such as Scratch and LEGO MINDSTORMS is that it runs entirely online, and the resulting application can be transferred painlessly to the user's phone over Wi-Fi. Everyone right now is in love with apps, and this is doubly true of children in my experience. Kids light up at the idea of being able to create their own app and run it immediately on their own (or their parents') Android device.
App Inventor resources
Besides the official App Inventor website that hosts the project, there are a couple other of really good App Inventor sites. These contain everything from simple collections of tutorials to an entire college level computer course curriculum presently taught at University of San Francisco.
Using App Inventor
I could go on describing App Inventor and its merits, but the most compelling reason for using this educational tool lays in its visual aspects, thus three screen shots are in order.
1. The first thing you do to create an app with App Inventor is layout your screen (Figure A).
2. Select the blocks specific to your component and task (Figure B).
3. Put the blocks into logical order using the interlocking puzzle pieces as clues (Figure C).
An educational tool for kids
App Inventor has evolved from its rather clunky beginnings, honed in on its educational roots, and reached a level of polish in the alpha version that makes it a fantastic way to introduce middle school-aged children to the concepts of computer science.