We survived our monster spring break trip to Florida (example), so now it is time to think about how to make our children miserable this summer. For #3 it is math, for #1 I'm still thinking, and for #2 it is learning to program.
Program in what?
Python of course , as as discussed on app.net and almost universally identified as the best learning language . It helps that I know the basics of it, and would enjoy learning more.
There are several options we can explore to help with this project:
- Coursera | An Introduction to Interactive Programming in Python: they use CodeSkulptor to run interactive Python programs in a browser
- CodeAcademy Python
- Khan Academy - Introduction to Programs (uses Python)
- Python Visual Quick Start Guide 2001 by Chris Fehily. This excellent books is long out of print and later editions aren't nearly as good, but I have a copy. Most of it runs fine on 2.7.
- Learn Python The Hard Way: a classic online tutorial.
- Python for Kids: Introduction to Programming by Jason Briggs (book - ages 10+). This is the bestselling kid-oriented product.
- Snake Wrangling for Kids by Jason Briggs (PDF, I think this became the Python for Kids book. The current version is Python 3, if you want the Python 2 edition you have to peck around until you find it.)
- Hello World! Computer Programming for Kids and Other Beginners (book - probably 10+)
- BeginnersGuide/NonProgrammers - Python Wiki: by Darwin, there are a lot of options.
- Python Programming for the Absolute Beginner, 3rd Edition: Michael Dawson
- Python | Ideas for Teaching Computer Technology to Kids: pretty similar to what I found here.
- Learning with Python/How to Think like a Computer Scientist: Interactive Edition: interactive (free) version of a text, open source and free - supported by Luther college.
 Specifically Python 2.7.4 for Mac. The latest version of Python is 3.x, but when I did my Google App Engine tutorial at Strata we were told to use 2.7, Coursera and most texts also prefer 2.7. On Mountain Lion you can install 32bit or 64bit versions, but the 64bit requires a TCL upgrade to run the handy integrated dev tool (IDLE) so I just went with 32bit. OS X ships with a version of Python, but it's worth getting the IDLE version. It's exasperating that the standard Mac Python distribution doesn't include an uninstaller; I wrote up some directions here after I foolishly installed Python 3.
We ended up starting with the free Python 2 edition of Snack Wrangling for Kids. Not because it's free, but because it uses Python 2 (which imho is the best current version), and there's a PPC version of Python 2.7.4. The PPC version is desirable because we use an old G5 iMac as a "Learning Workstation"; unlike our other workstations there's no limit or authentication required for use of that machine. It's a good place to host the Python IDLE link and the PDF.
Although the language of SWFK is more for 8-10yo than our 14yo he doesn't mind it and the exercises build nicely.