A wonderfully different way to thing about computing

One Laptop Per Child logo
One of my constant struggles as an educator in computer science has been helping students see a bigger picture, look past the mundanities of yesterday’s “help wanted” page, and see what the world could be rather than what it has been.

One way this has often played out has been in debates over programming languages and development tools. Students are (quite legitimately) concerned with their near term employment prospects, and so they tend to focus what they’ve heard of, and what they see in the job web sites. Unfortunately that is almost always an exercise in looking backwards in time. When I started in 1991, the problem was getting students out of Pascal and C and start thinking about objects. Now we’re working to add things like Ruby and Python to our Java-heavy toolkit. Constant throughout has been the difficult task of getting them to take (semi-) functional languages (Scheme, Haskell) seriously or, in fact, any language doesn’t have a “For dummies” book at their local mega-bookshop.

I need to be fair, though, and make it clear that we’ve always had students who could see the bigger picture, and have often pushed us faculty to open some important new doors. I suspect that we’ve actually been luckier in that respect at UMM than many other programs. That said, you still get groaners (often very vocal) who never seem to be happy unless you’re emphasizing whatever tool or language they’re firmly convinced is their only road to employment.

This is one of the reasons that it makes me so happy to see the list of programming languages used in the One Laptop Per Child project:

We will support five programming environments on the laptop: (1) Python, from which we have built our user interface and our activity model; (2) Javascript for browser-based scripting; (3) Csound, a programmable music and audio environment; (4) Squeak, a version of Smalltalk embedded into a media-rich authoring environment; and (5) Logo. We will also provide some support for Java and Flash.

OK, we can debate the details (and I’m sure people have and will), but let’s skip all that shall we? Let’s instead note that none of these was a “heavy hitter” 5 or 10 years ago, and there are plenty of people who would (wrongly in my opinion) argue that none are terribly important today. How many data structures classes in the U.S., for example, (a key “bread and butter” course in most computing curriculums) use any of these languages? I’m sure there are a few (especially Python), but proportionally I bet it’s pretty tiny. (Try searching either Amazon or the web for textbooks for such a course, for example.)

It’s also worth considering impact here. Sure, I doubt that anyone’s likely to start building inventory control systems in Logo, but should that be the issue? What’s the real opportunity for impact here? How do I change the world? By building accounting systems? Or by contributing to a project that plans to put computers and software in the hands to millions of kids all around the world?

You want to make the world a better place? You want to really fight terrorism? Then give people hope, a chance to grow and make their world better. Give them something to protect. Contribute to a project like this.

And, if you’re contributing to this project, you apparently program in Python, JavaScript, CSound, Squeak and Logo.

So let’s put an end to the whining about these not being “real” programming languages and nobody building “real” programs with them. I’ve written a crapload of Java code in my day that only a handful of people will ever use. Some bright bulbs used Squeak to build Scratch, which I suspect will be used by millions. Hmmm … which do I find more impressive?

Related posts

Almost to Sweden, but then not

Linkoping University by Dean Man ... Walking
My
sister (and co-author) is visiting Linköping University in Sweden this week both as an external examiner on a PhD defense, and giving a talk as part of a seminar entitled “Conservation biology in animals — behavior, genetics, welfare”. The first half of her talk is on work we did together, using computer simulations to better understand the impact of changes in selection pressure on genetic and phenotypic diversity of populations. This will (I think) be the first public airing of these results, so this is pretty exciting stuff.

I actually made the mistake of peeking a bit at what a flight would cost to join her, and we got all excited when the early results were actually very promising. Unfortunately further examination made it clear that “zipping over to Sweden for a few days” would in fact run close to $1K, which is money we really don’t have at the moment.

Sigh.

I’d never been to Scandinavia before, and it would have been really cool to hear the talks (especially hers) and meet the other biologists at the seminar. But such is life.

At the kind invitation of Michael O’Neill, I am going to the University of Dublin to give a talk in early December, which will be lots of fun. I’ve been to Ireland once before, to give a talk at the University of Limerick, and really enjoyed it. I’ve never been to Dublin, though, so I’m quite excited. Dublin Tourism has a very cool set of free podcast walking tours (smart people, them) which I’ve been listening to as a way of figuring out where I want to visit in my limited tourism time.

Thanks to Dead Man … Walking for the photo. Gotta love all those bikes, eh?

Related posts