Archive for July 2009

Today (Thursday) was the second-to-last of the course. It’s been a long haul, but we hope a rewarding one. In the morning, the students had an hour-long overview of results from empirical studies of real-world software engineering; in the afternoon, we looked at how traditional and agile development processes are responses to those facts. Tomorrow morning, we’ll spend an hour talking about what’s gone right and what’s gone wrong, then head out for a farewell lunch.

And in late-breaking news, one of the students, Mark Tovey, has started a blog on open source cognitive science. Thinking about it now, we should have required all of the students to start and maintain blogs during the course; here’s hoping some will do it now of their own accord (hint, hint).

…but today is bigger than most: after lectures yesterday on server-side web programming and building GUIs, students will spend this morning exploring ways to apply what they’ve learned in the course to their own research problems. This afternoon, we have a stellar line up of speakers from 1:00 to 6:00 pm at the MaRS Centre to talk about how the web is changing the way science is done. We’ll post video of the talks as soon as we can, but if you’d like to follow along in real time, we are:

Yesterday (Monday) morning we covered the basics of handling binary data, including bit twiddling and the use of Python’s struct module to pack and unpack binary representations of objects. The afternoon was a lightning introduction to how the web works: a simple socket example (just to show students the plumbing) was followed by a description of HTTP’s requests and responses, then a look at urllib. Today is going to be devoted to the absolute bare bones of server-side programming, with GUI programming using Tkinter as a follow-up. “Fast paced” doesn’t even touch it, but I hope students will come away with an idea of what’s possible, and where to look for more information.

I have created an Amazon.com Listmania list for the books that most directly influenced this course. Some topics aren’t directly represented—there’s nothing devoted to handling XML or binary data, for example, or on big-Oh complexity or web programming—but I hope what’s there will be of use.

Nature‘s Martin Fenner has blogged a summary of what he heard and saw at SciBarCamp’09 in Palo Alto a couple of weeks ago. Cameron Neylon wastheretoo—in fact, I’d be willing to bet that a healthy number of attendees posted their experiences in some form or another. Maybe the next challenge for scientific publishing is something that will aggregate and summarize disparate reports of such events?

What I’m most interested in, though, is figuring out what’s needed to make that kind of reporting happen. Mark Tovey has been reporting on the Software Carpentry course in near-real time at FriendFeed, but there have been very few comments or contributions from other students. Is his record complete enough that no one can think of anything to add? As quickly as he types, that still seems unlikely, and even if it was true, I’d expect people to have questions or to want to add more detail. Is it the classroom setting, and all the behavioral baggage that brings with it? I had the students in my software engineering class last term write up lectures as wiki pages to earn 10% of their course grade; perhaps that kind of stick has to accompany the carrot of social good?

XML in the morning, regular expressions in the afternoon—it’s been a long week, but a productive one (I hope). We’re going to shuffle some of the material around so that we can do binary data processing, web client and server programming, and GUI programming next week. The highlight, of course, will be the guest speakers on Wednesday afternoon. I hope the students have a restful weekend; I’m looking forward to the last lap.