Teaching basic lab skills
for research computing

Software Carpentry: First Meeting

The Toronto edition of the Software Carpentry course met for the first time on Monday. 51 people crammed into a room with seating for 34 (and no air conditioning, on an unseasonably warm day): medical biophysicists, computer scientists, civil engineers, and even a couple of faculty members.

I was pleased with the turnout, but less pleased with my lectures. I don't think my introduction to the shell made sense to anyone who didn't already know the content—it was far too long, and as Andy Lumsdaine (who's teaching from these same notes at Indiana) said, this stuff really does need to be interactive.

The version control lecture was more successful. While the notes talk about editing C files, I talked about co-authoring a paper written in LaTeX, which I hope was less intimidating. (A couple of people have suggested that there ought to be an entire lecture on LaTeX, but I'm still not convinced—it would be a good sample problem for the lecture on Make, but it isn't really software engineering itself.)

I spent several hours yesterday (Tuesday) editing the recordings I made of my lectures using Audacity, then converted them to MP3's with CDex. I have a few verbal tics, and we spent more time shuffling chairs around than I thought, so each of the lectures reduced to under 30 minutes of real content. It could be that the biggest thing I'll get out of this course personally is better public speaking skills... ;-)

The rest of yesterday was spent putting together some Python scripts to manage the class list, and to generate Subversion passwords and access control file entries from it. I also played with two GUI interfaces for Subversion (RapidSVN, which is cross-platform, but not really very rapid, and TortoiseSVN, which is Windows-only). I need to check out SmartSVN as well, so that Macintoids will have something to play with—it's clear Monday's lecture that unless they can start with a GUI, many students will go away thinking that version control is intrinsically hard.

With another hour's work, I'd be ready to send mail to students in Toronto and elsewhere telling them how to access the Subversion repositories they'll be using in the course, and what their first exercise is. However, this morning is going to be taken up with the first batch o 49X project meetings. This term, 23 students will be working on:

  • a collaborative grading tool;
  • a combined land use and vehicle traffic simulator;
  • neuroimaging algorithm performance;
  • an on-line marking aid;
  • visualizing rock planes in 3D;
  • a new interface for the Bell Kids Help Phone;
  • a lightweight requirements management tool;
  • DrProject itself;
  • a database for a food bank; and
  • an electronic GFP (Green Fluorescence Protein) browser.

It's going to be a busy, but rewarding, fall...

UNIVERSITY OF TORONTO

Dialogue & Discussion

You can review our commenting policy here.