Monthly Archives: November 2012

Software Carpentry Feedback


As well as asking the attendees how they thought the workshop had gone, I sent them a questionnaire before the workshop. The idea was to see what their expectations were and if the workshop then met them. For example we asked “How would you describe your expertise in the following tools?�? and the results are on the right. Overall most people didn’t feel they knew much about the tools we had identified as being potentially most useful. We also asked “What you would like the workshop to cover?�? and the answers indicated these tools were relevant (results not shown).


So, how did the workshop do? Well, 92% of the attendees agreed or strongly agreed with the statement “I enjoyed the Software Carpentry Workshop�? and 96% “[felt they] learnt something useful from the workshop that will help my research.�?. Everyone who had come from an experimental lab thought that “other members of my lab would benefit from a workshop like this�?. A good start, but did it improve their understanding? So we also asked “I understand enough to try using the the following tools�? and most people agreed (see left)! Promising, but maybe it was the sugar from the donuts kicking in.

To try and resolve things we then asked “I intend using the tools to help my research�? and lo, some of those agrees not unsurprisingly sneak to the left and join the disagrees (see the graph on the right). I’m happy and seeing as 92% agreed with “A workshop like this should be run annually in Biochemistry�? maybe I’ll be running another one.

Few comments:

“The course was very informative and useful for my research! Thanks�?

“I now see the value of a more ‘scientific’ approach to programming in science, in terms of version tracking, reproduciblity and validity. I try to be thorough in my approach to my research and that should extend to my programming. This workshop has been an excellent first step in that direction.�?

“Excellent course, thanks for letting me take part.�?

Running my first Software Carpentry workshop

“Can you email me that script you used to do your analysis?�?

“Sure. It isn’t very well commented but you should be able to work out what it’s doing. I’ve tested it on a few things and it seems to work.�?

Sound familiar? Of course, the story normally ends happily but….

Teaching some of the tools and methods of software engineering to scientists so that they write code that is easy to understand, tested and so can be shared more readily. This is the idea behind , a small but fast-growing movement.


I joined one of their online courses a few years ago and found it very useful, although inevitably I only managed to complete half the exercises before I had a bad week and fell off the back of the course.

So back in April 2012 when I was talking to Neil Chue-Hong at the in Oxford and he mentioned Software Carpentry my ears pricked up. Neil is the director of the who were running the workshop and he mentioned that they were helping Software Carpentry run two-day intensive courses in the UK. I thought it would be just the thing for our department and, well, we have just finished running the first ever two-day Software Carpentry workshop at the University of Oxford.

Interest in the workshop has been high; although the plan was to limit it to Biochemistry we ended up with helpers and observers from other university departments as well as one of companies on the science park and if we’d opened it up could have filled the room at least twice over. In the end we only had enough chairs and desks for the attendees and everyone else had to perch.

The first day covered shell scripting using bash and awk, version control, and automation courtesy of GNU make. I think most people had seen shell scripting but everyone sat up a bit straighter during version control… I always think a good course is like a good physics lecture; you sit there at the beginning nodding thinking “this is easy�?, then the difficulty slowly ratchets up and at the end you realise you’ve learnt a lot. Yesterday it was the turn of python, including unit tests and some of the more relevant modules to us such as numpy, scipy and .

I’ll describe some of the feedback in a later post, but overall it appears to have been well-received. Just remains for me to say thank you to the instructors, all the helpers and, of course, the attendees.

Here’s to another one in 2013.