Montreal in January
This post originally appeared on the Software Carpentry website.
This weekend was the first time I had instructed at a SWC bootcamp, and I'd only observed one other (Greg Wilson in Halifax in July 2012). By the new standards for instructors Greg's trying to put in place I would probably not even qualify, but hey, we're in a growth phase right now; we take a few chances, eh? I felt my inexperience acutely, but despite that I think I can say that the bootcamp went well, thanks to a great group of attendees and helpers and my co-instructor, Jessica McKellar. The site organizers were Alex Demarsh and Rolina van Gaalen, and the other helpers were Greg Ward, Julia Evans and Jonathan Villemaire-Krajden.
Nominal registration charge
For this event we charged $20.00 for registration (which Eventbrite transmogrified into $22.19), with the question in mind "What does this do to the no-show rate?" We exactly sold out: Forty tickets were bought, the last one going less than a day before the event. We didn't get a precise head count early on Day 1, but we estimated later that we had 35 to 37 out of 40 there. One person explicitly wrote in sick on Day 1, but made it out on Day 2.
We also had some drop-off. By the time we wrapped up on Sunday afternoon we had 26 attendees in the room. We missed an opportunity there: Had I thought of it in time, we could've gotten the die-hards to give us their names in Etherpad, then we could've diffed that against the original sign-up list and sent mail to the no-shows and the leavers asking what we could've done to retain them.
By way of compensation for the registration charge, we arranged pizza and pop gratis for lunch both days. Alex and his colleagues produced coffee on demand, and also clementine oranges and cookies on Day 2. All very good!
Setup issues
One reason we didn't get a better head count up front was that the instructors were still wrestling with network and video setup issues as the clock struck 9:00 on Day 1. We should've scheduled more than 30 minutes of set-up time before the students were to arrive. And unfortunately Jessica, who came with a Mac, was unable to get the Windows-centric university-owned video system to play nice, and she was condemned to delivering all her content from Ross's Windows laptop. With a maddeningly small keyboard.
Syllabus and students
From the standard syllabus we did the shell, Python, revision control with Git, SQL and testing units. Once again we had a lot of people in the room who already knew some R --- epidemiologists and linguists, in this instance. My opinion was reinforced that, had we the right materials and experience, we could get them a more-solid intro to good coding practices and testing if we were able to skip the "teach a language" step and give it to 'em straight in R. You can say "this is language-independent" all you like, but there's nothing like seeing it done with the tools you already use.
Bioinformaticians comprised the second-largest bloc of attendees, and there was a smattering of singletons from other disciplines too, I think. That's another thing we didn't capture explicitly. I'm looking forward to having an entry survey worked out to alleviate this in the future.
Here's the Good & Bad list that we asked them for in the afternoon of Day 2:
Negative | Positive |
|
|
Regarding that last comment, at one point Jessica recommended to students:
depending on whether the student was feeling too-challenged or bored.
Despite the negative list being longer than the positive, almost all the (remaining) attendees seemed to me to be genuinely pleased with what they'd learned.
Tools
The tools we had them install were Python 2.7 (no iPython); GitBash if on Windows, Git otherwise; the Firefox SQLite Manager; and we recommended Notepad++ for Windows and Smultron for Mac by way of text editors.
We used Etherpad for out-of-channel communications and "group memory", which was voted a big win at the end of the event. I also handed out red and green stickies as status flags. They were used haphazardly. I think these semaphores might be Just One More Bleepin' Thing To Remember for the student, or else I didn't reinforce their use enough in the first hour. I'll probably try them again.
The biggest tool problems we had were with GitBash. I decided about two weeks before the event to call for GitBash instead of Cygwin for the Windows users, to teach the shell, since Jessica was planning to use it for teaching Git. This was a mixed success. The installation is simpler than Cygwin and it uses the native Windows directory structure, but there are surprises in GitBash that we banged our shins on: 'more' is missing, but 'less' is there. 'man' is missing, but 'cmd --help' usually works. (One helper thought that the absence of 'man' was actually a win. He has a point.) 'seq' is missing. 'file' is missing. The cut-n-paste facilities are inconvenient. And you don't need to set an executable bit on a script in order to execute it:
$ cat junk echo "Hello bash" $ ls -l junk -rw-r--r-- 1 ross Administ 19 Jan 14 11:53 junk $ junk Hello bash
This last no doubt has something to do with the underlying Windows, but I feel like bash is now popular enough that it's spawning incompatible variants. *Sigh*. My advice to future bootcamp instructors is, try GitBash in the safety of your own home for a good long time before calling for it as an instructional tool. I'm still of two minds about it, myself.