I've earlier posted about providing students with more than just template example data, organized in whatever structures, mostly to drive the discussion of the structures themselves (dictionary, list, array, tree, network, bag, multi-set, queue, stack, hash table ... and so on (yes, I'm deliberately jumbling the namespaces here)). We could do foods and their breakdown, in terms of protein, fats, calories. We could do planets and their moons, plus quasi-planets, comets and whatever.
You wouldn't want a completely flat list for most knowledge, when you could be nesting dictionaries or whatever. I'm thinking of what I did for Bernie: showed him how to accommodate "no fixed order" mineral content data from around the world, and organized by named sample, within a two dimensional dictionary names samples (read from csv files using the Standard Library csv module)). Now he can go samples[sampleid][mineral] and get a floating point for his other computations. I've also posted about starting warm and fuzzy in animal world, with OO notation, usually around Mammals and such. Subclasses Monkey, Human and Dog have been a feature of my teachings, with gnu math shell commands such as as h1 = Human("Tom Cruise") appearing in some of them. The class definition specifies an empty stomach at birth (__init__), while the eat method echoes the random foods ("Thanks for the...") appended to self.stomach. A more elaborate class would treat stomach as a queue, but in these first cartoons, we're not trying to get so literal. I let objects eat each other, even themselves. Note: if we have rich nutrition information in a database of foods, then a digestion model might be coupled with an energy model. The object would "burn" calories per each method executed. Running up hill word burn them faster than watching TV, although they say Bobby Fischer lost entire pounds during a game of chess, given how hard his brain worked. http://en.wikipedia.org/wiki/Bobby_Fischer The combination of these two looks intriguing, let's say where a focus on local biologies and ecosystems is strong (the hallmark of a good local school). Really flesh out the local animal system in OO notation, to some level of detail, with a discussion of lifestyles, predatory trees, methods of camouflage, seasonal fluctuations and so on. In North America, the local py files might include grizzly bears. In South Africa, dung beetles and elephants. We're doing open source here, so if TuxLab Kusasa pumps out a decent infra-coastal ecosystem model, at least data-wise, TuxLab Durban 17 might simply import that into a more struct-like set of Python classes, for teaching about Nemo and such. Lion King, Jungle Book... lots of cultural memories, plus older material (some lifestyles trace back a very long time in that neck of the woods, as the cave paintings attest). The point is to make learning about data structures, OO syntax, a data rich experience, infusing knowledge domain material in a nutritious "py dough". The Python modules in question might be about earth science, astronomy, anatomy, zoology, gemology or whatever. In some modules, we might confine our scope to the breeding tree we call "dog space" (they say any random two can mate, assuming necessary equipment, so it's still just the one species, but I'd hate to see that experiment actually tried (I'll just take their word for it)). Sarah-the-dog is under my desk as I write this, enjoying the company of my feet. We have a fenced back yard, plus she gets walks in the neighborhood. The last time we went to the beach (Manzanita, hot tub) she didn't get to join us. No dogs in the hot tub, nor in the house that owns it. Also this AM: Tara has been doing stuff with iTunes, getting a lesson in how to pump up bike tires (my two needed at least 80 PSI (this is the bike I did Seattle to Portland with, a couple years back)). Given my geometric focus, I'm already packaging knowledge domains that I know the most about. My polyhedra come in several flavors, however my niche market has been modules such as rbf.py i.e. my Fuller School stuff (we pickle some of Fuller's most important innovations). So that's one of my chief exports from the Portland Tech District (an area close in to the Willamette, on the east side, where my wife keeps her Turning The Wheel business going (glass desktop, flat screen monitor, multimedia CPU)). My OSCON 2005 presentation was about thanking the open source community for making my job as a Fuller Schooler so much easier. I recapitulated a lot of that in my publicly streamed QuickTime video @ LKL, delivered in close chrono-proximity to my Shuttleworth Summit blog posts (see worldgame, controlroom, mybizmo @ Google's blogspot.com for more info). We also plan to branch out into rich data *reprocessing* i.e. downloading publicly available data and bundling it up in rich data structures (Ruby's or Perl's, as easily as Python's). This group undertaking is for inhouse development mostly, not for retail pricing (let others rush to shrink wrap). Education systems need this stuff in a hurry and for free (especially the basic math objects), along with encouragement to copy the stuff and enhance it. We'll charge for the more proprietary knowledge domains perhaps, but core liberal arts stuff shouldn't be held hostage for money, and we need to circumvent those who think it should be (circumvention is also what those boring old public libraries are about, the ones with all those DVDs, as well as books, not just the Internet, however dynamic and appealing (libraries and the Internet are very much in synergy)). Indeed, the education network itself is a *source* of good things, which businesses then pirate off with for pay dirt. We call it: going to a real school (one that gives you your money's worth in terms of skills and connections), and then getting a real job (one that appreciates and values your performance and in a field you yourself respect (garbage collection is a vital service that Python provides, whereas in primitive C you still need to take out your own trash)). 4D Solutions is not the kind of business that vultures around schools, waiting for tidbits and clues to make a killing with. I'm more into thinking like a think tank, a knowledge lab, tucked away in the Silicon Forest someplace, and already within the ramparts. I'm not always for profit, nor am I all things to all people, but at least my shop is efficient at what it does -- like a well equipped bicycle co-op, expertly staffed, or like a race car ready for the next lap (we just saw the movie Cars yesterday, so I'm not surprised at this metaphor). Kirby _______________________________________________ Edu-sig mailing list Edu-sig@python.org http://mail.python.org/mailman/listinfo/edu-sig