For anyone who used computers in the 70s and 80s, there's a chance you were exposed to the Logo programming language at some point in your studies. It was designed to teach the fundamentals of programming and to illustrate how a computer handled user instructions. The basic idea was you had a small turtle that would accept simple movement commands to make it draw simple shapes (or complex ones if you were really good).
Logo was a cornerstone of programs designed to teach small children how to program. However, in recent years it has faded in popularity since it lacks the visual oomph to capture the imagination of most children.
However, the concept of Logo and its methods for teaching programming concepts live on in a new program from the creators of the LEGO Mindstorms product line which teach basic programming and simple robot construction. The new program, Scratch, takes the old Logo concept but has you build your programs by putting together "blocks" that perform specific functions. It takes the often-used idea of describing Object Oriented programming as piecing together Lego bricks, and applies it visually.
Designed for kids 8 and up, Scratch is available free of charge to anyone who wants to take it for a spin. It's simple and intuitive, but also surprisingly powerful in what it can do. Ars Technica has a great write-up on the application and links to download.