It’s pretty tough to explain to a 6 and an 8 year old what it is you do all day at work as a programmer. They take the computer programs they use for granted, and just assume that websites work because they’re supposed to work. Explaining that someone had to write “code” to cause a button press on the screen to do something is a bit too abstract. A simpler example though worked wonders! I was working on a little HTML5, Canvas application for a Crisp seminar a couple of years ago called Ball Bounce (a simplified pong-like game), and the girls were mesmerized by how changing a few characters in the editor made huge visual changes in the web browser. Finally a break-through! But JavaScript is not really an entry level language, and teaching kids about events is probably not the best start. So, what is an easy, visual program with instant gratification? Well, why not Logo?
Logo is a really simple and powerful educational programming language (based on Lisp, without the parens). It’s basically a turtle on a canvas and a command console. You tell the turtle what to do, and it follows your command. The turtle in the middle of the screen was a great attraction to the kids, and the ease of learning a few simple commands got them hooked! I started out by demoing how to draw a straight line:
FD 100
This just tells the turtle to move forward 100 steps. You can actually type out the word “forward”, but we started out with the shortcut commands since it is easier for both kids to figure out what the first and last letters of the words are. After that we started experimenting with turning the turtle. All of a sudden we entered into the world of geometry, and a discussion about degrees and angles! We drew lines, then a square, and then a house and in the process learned about iteration with the “REPEAT” function!
The next question was “how can I draw a circle?” We knew that drawing a square involved moving forward a certain number of steps, then turning right 90 degrees, repeated four times. It didn’t take long for our 8 year old to figure out that maybe we can move forward 1 step and turn right 1 degree and repeat that 360 times! We had a circle!
This was a great success for our 8 year old, but our 6 year old? It turns out that you don’t really need to understand the geometry to have fun with the turtle anyway. With just two commands “FD” and “RT” you can get the turtle to do quite a bit anyway. Remembering the two letter commands is easy, and all of a sudden she was also drawing lines all over the screen! The most important command though, turned out to be “CS” or clear screen. Any mistakes are just swept away and within no time a new drawing can be started!
There are plenty of sites with resources for kid-friendly programming languages, a nice one is The Happy Nerds. In my case, the choice of Logo was driven purely by nostalgia. Logo was the first programming language I encountered, it ran from a cartridge on an MSX computer. It’s nice to see that it works just as well on a modern day MacBook Pro!
Get in touch via my homepage if you have questions or comments!
This is a fantastic reminder that Logo still exists! I did this with my son a few years ago and then on his own he wanted to tackle Python with http://www.manning.com/sande/ .
He may not grow up to be a software engineer, but he loves playing with Python and seeing what he can create.
Kevin
Thanks for the book suggestion!