"Learning how to write a computer program is a lot like learning a new language. There are nouns, verbs, and sentences. With far fewer words than a spoken language, it may be easier too. A student of languages can pick it up just as quickly as a student of math. To help, here are a set of tools that teach computer programming."
Via John Evans, Sue Gaardboe