Teaching My Daughter To Code
bluej.org
bluej.org
http://www.trollope.org/scheme.html
(here's the comment I left on the blog)
Hi there,
I applaud your efforts, and hope everything is well with you and your daughter.
I do want to raise a note of alarm. I recall struggling through Java and C++ syntax as a kids, and though I did get through without too many scars, I remembered much pain upon reading of Natasha Chen's encounter with programming classes. In this article:
http://www.trollope.org/scheme.html
She details how boring classes organized around syntax displaced creative teaching and work. But she then explained how learning Scheme revived the magic for her: that the extremely simple syntax allowed her to focus on the ideas directly, learning, all the way.
I love Scheme, and it would be a great choice. Squeak, too would be terrific - it seems to have been developed with kid's exploration in mind: (see for example, http://www.squeakland.org/kids/kidsmain.html). Even Java might not be so bad.
But I would take caution. Making GUI apps in Java wasn't very fun. I recall my frustration with Swing and exception hierarchies and paths and packages and altogether it's just not an experience I would revisit. Maybe it's better to learn something designed to be easy. Something designed to grow with you.
Quick, turn on the _Why signal! http://hacketyhack.net/
Or Squeak. Anything. Perhaps we can put together a nifty hacking platform in Arc once it finally comes out.
If I were trying to teach someone to program today, whatever their age, I wouldn't dream of starting in any language other than Python. Seriously, Java?
There was even a video on it. I think I saw this in one of Alan Kay's UI videos that are available here: http://webcast.berkeley.edu/course_details.php?seriesid=1906...