Teaching Ruby
Earlier this week, my twelve year old daughter approached me and asked to learn "All that computer stuff that you do." We had chatted previously about my job, but I had taken particular care to not pressure her into learning computers. Such a decision is best left to natural curiousity.
Hanna and I talked about several languages. She had wanted to learn C#, as that is what I spend most of my time with. Instead, I suggested Ruby. I've always wanted to learn the language, and an interpreted environment would make the edit-compile-debug loop a little bit easier.
Ruby has yet to disappoint me as a teaching language. While I haven't found any Ruby books suitable for teaching a pre-teen Ruby programming skills, I have been able to develop simple lesson plans to teach basic concepts. Along the way, I'm also learning the language, which is a big plus for me.
In two days, she has learned console input and output, variables, string comparison, arrays, simple iterators, if / else constructs, and more. It's really been a blast. I'd definitely recommend Ruby as a teaching language.
Next topic: Objects. Wish us luck!