Teaching My Son To Program
A few months back I read the article, "Why Johnny can't code" by David Brin. He talks about the trials he had teaching his son to BASIC. Just yesterday, I came across this article by Nat Torkington entitled, "Why Johnny Can't Program." This one talks about his adventures teaching programming to youngsters. He didn't use BASIC but rather Logo and Lego Mindstorms. The comments there are a good source for other suggestions. Some suggested languages aimed at kids like KPL or Squeak. Others suggested that Ruby or Python were the way to go. I think this latter group probably doesn't have young children.
My son is almost seven and insists that he's going to work at Microsoft when grows up. Makes a father proud. He enjoys math and for a while I've thought about how to introduce him to the concept of programming. I thought about Basic, but after reading Nat's article, I thought better of it. "Hello World" probably doesn't appeal to the average 7 year old. Something with visuals might be more interesting to start with. Many of the suggestions were too complex for a first language.
I decided to start small and settled on Logo as my introductory language of choice. Logo also happens to be the first language I used back in 4th grade. I recall finding it being taught without much context but I enjoyed it. I thought I'd give it a shot. After some looking around, I chose the free MSWLogo.
Tonight I introduced it to him. He picked it up quickly and really enjoys it so far. We'll see how long it holds his attention. I suspect we'll have to move on from Logo before too long. If things go well, I'll return to this topic in the future.
If you have suggestions on language or techniques that have worked for you, please send me mail or leave a comment.
Comments
Anonymous
March 04, 2007
Greeting Steve! I have used the Scratch visual programming language designed by the nice folks at MIT to introduce my kid to programming. http://scratch.mit.edu/ I find that the visual changes on the screen helps kids understand state changes and looping much better than the more abstract logo style systems. It also include native sound and sprite processing so they can get the "video game" effects that kids care so much about. Check it out, you won't be sorry!Anonymous
March 05, 2007
Thanks for the suggestion! I'll check it out. We're still having fun with Logo but a 6-year-old doesn't really understand angles very well and there's only so much you can do with the basic ones. We'll be looking for something else soon.Anonymous
March 12, 2007
The comment has been removedAnonymous
March 12, 2007
I plan a post to share some of my experiences with Logo so far. I think we're about at the limit of where it can take us without getting quite awkward. Sure, you could write a complex program in Logo, but why would you?Anonymous
July 30, 2007
As I've stated before , I have a young son who I have been trying on and off to teach to program. I still