Sunday, July 22, 2007

Revisioning HP4E (Synergeo 34590)

So, as I've posted before about, alluding somewhat to Guido's CP4E, Computer Programming for Everybody, I came up with HP4E, which means Hexapents for Everybody, in turn alluding to the Bucky-related literature we're so familiar with here (geodesic spheres 'n stuff).

CP4E isn't a synonym for OLPC (One Laptop Per Child). Rather, Guido, Python's chief inventor (and avid scholar of other languages), managed to get some DARPA funding several years ago for IDLE, a cross-platform development platform friendly enough to share with children, in math class or wherever.

HP4E leverages Python's spreading popularity, as OLPC does, but in a different way. Lots of the 3rd party curriculum modules written in Python, take an OO approach to topics in Synergetics for example. My polyhedra.py for example, with or without a basis in Chakovian coordinates.

I've just finished an HP4E course called sa: 8144, a multi-hour intensive briefing on what's what in computer world, from data base systems to the difference between open and closed source business models. In the cracks, we pick up Python skills, with primitive Edges based on Vectors. The vector objects wrap VPython internals, meaning we have the guts to go OpenGL with this stuff. We also go with a ray tracer, and maybe with X3D if there's time.

This coming week, I'll have the opportunity to talk about all this live to an audience of OSCON geeks (just like I've already had the opportunity to share with Eurogeeks in Lithuania last week).

These geeks are usually quick to spread the word, given their adeptness within the blogosphere and so on. I may not mention Synergeo directly, but don't be surprised if a few geeks surf through, maybe stay for a conversation or two.

CP4E stopped getting DoD funding after IDLE was off the ground (it was later inherited by the wider community, where upgrades have continued -- Guido himself more inclined to use emacs, now that he's back on Linux (the earliest Python has roots on an Apple Lisa)).

Issues of how Python should or could impact everyday pedagogy are still a subject of many a 'round-the-water-cooler conversation, leading to speculation about upcoming hires and fires in faculty lounges as well. So many thorny issues are involved, where computer programming of any kind is concerned. Are we really ready for an army of programmers? The Unicode piece isn't really implemented yet (that's for Python 3000). So many urge a "go slow" approach.

That doesn't stop the experiments though. Some communities are simply willing to try something new, and rely mostly on local feedback loops, not outside experts, to feel their way forward, with Python, with the technology in general. The children themselves are a principal source of feedback. Our job is less to tell them what to do, than to learn from what they're doing.