A simple metaphor that makes it easy to teach the essentials of programming.

By using a single, very simple, Turing-complete programmable metaphor you can introduce the essential concepts of computer programming to anyone in about an hour or less. I've developed such a metaphor with implementations in Javascript and Python, and I am actively teaching people with it. (I'm just getting started but results are very promising.)

I am working with the editor of a local food-related magazine to let him create Terry Gilliam-style animations using SVG and D3.js. Even though he is not technical he immediately grasped the concepts involved and began to elaborate quite lofty "computer science" ideas.

He outlined the idea of "garbage collection" before I could stop him!

He literally started proposing this idea, and I interrupted him and had to tell him, "yeah, that's called garbage collection and both Python and Javascript have it already!"

Feb 3 2013:
Ah, yes, the blog post I linked to is sort of like a simple script for someone who knows programming to use with someone who doesn't. It is not meant as a stand-alone introduction in and of itself.

I should also mention that, once a person gets the basic idea, I don't see any reason why they shouldn't go on to learn other programming systems and languages. I just see Xerblin as one particular form of "ABC's" of programming, but not neccessarily the only one.