Saturday, April 20, 2013

Learning programming for middle school - Python

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 [1], as as discussed on and almost universally identified as the best learning language [2]. 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:

We started out registering for the Python Coursera course from Rice University. I enjoyed it, but it's probably better for later high school or someone like me. The use of CodeSkulptor is interesting.
I suspect we'll go with Python for Kids and perhaps some Khan Academy and/or CodeAcademy supplements.

[1] 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.

[2] I suspect TurboPascal was the best ever, but it's no longer practical. Other contenders on the Mac environment are JavaScript and (yech) AppleScript. 

Update 4/21/2013:

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.

See also29 common beginner Python errors on one page | Python for biologists

No comments: