Friday, August 10, 2007

OLPC Musing

So, I've been playing with the OLPC a bit (I got a chance to play with a prototype in person at a party a while back) and I wonder: where's the science/mathematics? Authoring languages and EToys, which seem to be the focus presently (well, that and Tetris of course) are all well and good, but it would be really nice to see some more focus on the physical sciences, which leads naturally into topics like data analysis and statistics (collecting data is just the first step after all).

The minimal implementation would seem to be to start with something like the TILE/StatDocs projects that Duncan Temple Lang (Duncan, I hearby dub you DTL for the remainder of my posts. Sort of like DHH, the Ruby on Rails guy) and Deb Nolan have been doing for a while now (there used to be a website, but it seems to have disappeared). They give you an organizational unit of a "Lab" or an "Experiment," with some data and ways of interacting with the data (plotting and so on). These'd probably be hosted on the school's server and brought across the network dynamically. Another interesting tack would be to let the server also COLLECT data from the kids' experiments to be combined together into larger datasets via surveys or actual data collection. An ad hoc version of this is pretty common in introductory statistics courses for example.

This leads to the question of what to use as the analytical environment. Being biased, I would tend towards using R + GTK + Gecko, with a UI designed for the more modal experience of the OLPC. Alternatively, Python could be used for the implementation, though I'm not convinced that Python would be a particularly good interactive data language (things like R/S's formula DSL are really quite powerful for example). I tend to dislike point-n-click on principal, especially in an environment that stressed authoring languages.

Beyond that, you want kids to be able to collect their own data. I remember having this thing for my Atari 800 when I was a kid that had a number of different probe options for things like temperature and pH and rainfall and such. The software it had was pretty primitive, but it was lots of fun (for me anyway) playing with the temperature probe and such. It seems like the USB ports could be used to build data acquisition systems pretty cheaply these days---you wouldn't need really high performance for the most part and that lets kids collect their own data, which will always be more compelling than some prepackaged dataset since they "own" the data. There's at least one, possibly more, Open Source hardware project for building lots of these sorts of sensors for DIY weather monitoring that can probably be leveraged for that sort of thing.


elijah.wright said...

i actually have an OLPC unit here, and proposed a bit of R work for it several months ago.

they're not quite ready for that yet -- the target audience is quite young compared to what you'd really want to teach 'statistics' to.

there's a guy building probes to hook to the OLPC, too - on the cheap - for some data sampling purposes.

Byron said...

Sure, I'm not suggesting a statistics 101 course (though you could do most stats 101 courses I've ever encountered at a grade school level, except for the profound boredom it would invoke). More using a statistical environment to build tools the more basic features.

Take fitting a trend. A child can understand, say, the temperature recorded over the course of the day. They can plot that as a scatterplot and then you can have a little tool with a dial that lets them fit, say, a spline. They don't need to know (yet) what a spline is and how it works, but they can figure out that it follows the data. Messing with the dial lets them find the "best" fit and now you're teaching over-vs-underfitting without them even knowing it or having to go into the mathematics behind it.

Also, the kids will grow up eventually and they might be hanging on to those OLPCs for a while.