> How can you teach a seven year old to program? Kids of that age are hardly learning to add, subtract, multiply and divide numbers.
Leaving aside the various educational bugs that lead to that situation...
For one thing, the earliest concepts of programming don't depend on math; that comes later. Think about something like LOGO here: the simplest bits just involve giving instructions to a computer like "go forward" and "turn left". More complex instructions like those used in fractal snowflakes represent a natural progression, and suggest the basics of functions and repetition. Similarly, think about LEGO robots: "go forward until you hit something, then back up and turn". You don't have to understand advanced math to implement that.
At some point around that age, I came across a simplistic algorithm in a geology book for identifying rocks, which provided a series of questions that amounted to a flowchart: does it split into layers, what color of streak does it leave if you rub it on glass, etc. I turned that algorithm into a simplistic pile of C, using printf to print questions, getch or similar to prompt for answers, and if/else to figure out what to do next. I had no concept of modularity or code reuse, open-coded the prompting logic for every question, and nested the conditionals to an absurd depth, but it worked, and triumphantly printed the kind of rock you had. :)