SOPA Software Carpentry

2 March 2018

Recently, with my Software Sustainability Institute (SSI) hat on, we helped to deliver a Software Carpentry Course here at Edinburgh organised by the School of Physics and Astronomy (SOPA). My fellow instructors were my EPCC colleagues Mike Jackson and Neelofer Banglawala, and SOPA's Andy Washbrook.

SOPA group photo

The course mainly targeted SOPA postgraduate students but there were also some postdocs and at least one professor.  This local Software Carpentry workshop was run with the intention to roll out Software Carpentry-style training to a wider set of postgraduate students in September to provide them with basic computing knowledge, or, in the words of Software Carpentry, to help them achieve more, in less time, with less pain.

We gave the attendees an introduction to the bash shell; experience in using Git with a local repository and then pushing its content out to a remote GitHub account; an introduction to good programming practice and data exploration using Python and numpy; and a brief look at continuous integration with code reviews.

Feedback was largely positive, but the level of attrition was higher than on my previous Software Carpentry courses. It would be good to try to understand why this was the case but, in some cases, local commitments drove people out. A number of logistical lessons were also learnt with the choice of room (necessitating a change of venue just a couple of days before), and the usual teething problems with attendees experiencing problems with installing the prerequisite tools before they arrive, requiring time to be spent resolving these problems on the day.

Overall the experience proved to be positive for all concerned.  Lessons have been learnt that will be applied to the expected wider roll out. Moreover, we have a captive local cohort which may enable us to do a longitudinal study to monitor the efficacy of this type of training. The end goal is to try to provide better tooling and techniques for students (and above) to produce better software and as the SSI edict goes: Better Software, Better Research.