On the 3rd of December, Software Carpentry returned to Edinburgh with EPCC hosting a bootcamp as part of its involvement in both the PRACE Advanced Training Centre and The Software Sustainability Institute.
We had 34 attendees, half from Edinburgh and Glasgow and half from across the UK, with one attendee from Rutgers University. They included researchers from a wide range of disciplines: physics, engineering, chemistry and life sciences, earth sciences, medicine and space sciences, and humanities and social sciences. About half the attendees were PhD students, while the rest were senior researchers and academics.
My EPCC colleague Mario Antonioletti and I instructed on the boot camp with assistance from fellow EPCCers Amy Krause, Alistair Grant, Arno Proeme, Dominic Sloan-Murphy and David Scott. We were joined by Martin Jones from Edinburgh's School of Biological Sciences.
During the bootcamp we provided a hands-on introduction to version control and Git, scientific programming in Python (the numpy, scipy and matplotlib libraries), good programming practice and testing.
As is traditional on bootcamps, we went round the room to see what the attendees thought were the good points and bad points, so delivery can be improved (via a form of iterative development!) in future:
|Good points||Bad points|
|Git and revision control (mentioned by 6)||Difficult to catch up if one fell behind (mentioned by 3)|
|Python (mentioned by 4)||Too much information in too little time (mentioned by 3)|
|Seeing how to make code reusable across different data sets||A 3rd day would have helped with the above (mentioned by 2)|
|Mix of material to get a good overview||Visual references would have helped with Git|
|Time spent on practical aspects||Hard to see relevance of Git for a solo developer|
|Sticky green/red notes to say all is fine/request help (mentioned by 2)||Could have used bash instead of Python|
|Multiple projector screens||Using a Python IDE would help attendees keep up|
|Large number of helpers||Python debugging was not covered|
|Helpful instructors||Python was too basic|
|Timing of breaks||Still unclear as how unit testing can help|
|Tests only seemed applicable to simple codes|
|Thought there would have been more on revision control and unit testing|
|A common example running through all sessions would have been useful|
On a personal note, after battling in the past with Cygwin to install a shell, Git and Python and its scientific packages onto my laptop, using Git Bash and Anaconda, the all-in-one scientific Python installer, worked like a dream!
EPCC plans on running bootcamps next year as part of its user and computational science and engineering support for ARCHER, the UK's new national HPC service for academic research.