Python, R, command-line interface, shell, terminal, function, package. These are a few examples of the vocabulary researchers and students were recently exposed to during a two-day Software Carpentry workshop at the NWU.
The Software Carpentry Foundation is an international volunteer, non-profit organisation that aims to teach researchers to “do more in less time” when it comes to the computational side of their projects. Lesson material is developed collaboratively and is freely available and published under the Creative Commons license. The lessons were recently published in Zenodo and had 158 contributors from across the globe. The Software Carpentry community has recently taught their 16 000th learner and have offered more than 500 workshops across six continents. Over the past two years, eight workshops have been run in South Africa, of which six took place within the last 12 months. The most recent workshop was co-hosted by the eResearch Initiative, IT@NWU and the NWU Faculty of Engineering and took place on 5 & 6 November 2015 in Potchefstroom.
We were fortunate to have three excellent South African-based instructors available for the event:
- Bertie Seyffert - PhD student in Astrophysics, NWU
- Maia Lesosky - Biostatistician, UCT
- Peter van Heusden - Bioinformatician, UWC
One of the most unexpected aspects of the workshop for those unfamiliar with Software Carpentry was that participants came from such a wide range of research backgrounds. Nine faculties were represented across all three campuses including the social, natural, medical and physical sciences, engineering, and IT. The eResearch Initiative made accommodation sponsorships available for seven researchers from the Mahikeng and Vanderbijlpark campuses to allow for broader participation.
Popularity of workshop
The popularity of Software Carpentry workshops can be attributed to a range of properties. The most notable one may be the live coding by participants as well as the instructor for the duration of the workshop. Learners bring their own laptops with pre-installed (free) software and type along as the instructor is working through the lesson material. Helpers with slightly more experience than participants circulate through the room to assist in real-time when learners struggle with specific problems.
A sticky note system is implemented to indicate to the helpers and instructor when the class is falling behind or when they’re ready to move on. The sticky note is displayed on the laptop “lid” to indicate the following:
- blue: participant is busy working on a challenge
- green: participant has completed the challenge
- red: participant needs help
Bertie introduced learners to the Bash shell in a joint session on the first morning. They learnt some basic commands on the command line in preparation for creating scripts that can automate repetitive analyses through the use of for-loops. Each participant brought their own laptops with pre-installed software as detailed on the course website. This allowed researchers and students to return to their offices with the course environment still fully functional on their own computers for future use. Although a pre-course software clinic was offered to assist with installations, some problems did crop up during the workshop and were addressed by our IT Helpdesk support staff, helpers and fellow learners.
After lunch on day one the workshop broke up into two sessions: one focussing on the use of R (taught by Maia), and the other on Python (Peter). Our helpers – Andreas Alberts (Engineering), Mari van Reenen (Statistics), and co-organiser Melvin Ferreira (Engineering) did a great job of assisting when learners got stuck.
The workshop ended on the second day with Bertie showing a very advanced example of integrating what was taught in the Shell, Python, and R lessons respectively, followed by a demonstration of version control with git and GitHub.
Feedback from participants after the workshop included comments such as:
- “I learned new stuff such as how R works. I have never heard of R before this workshop”
- “Sticky notes were awesome”
- “I have learnt a lot in very little time”
- “The instructors were well-prepared and there were always enough helpers to assist me with any problems I encountered. The workshop provided a nice introductory exposure to research-related software and how to accomplish certain tasks easier.”
- “I learned a lot!! I never thought I would be able to understand and use command-line software with my data, but indeed I can! I wouldn't mind attending an extended/follow-up course. :)”
We are grateful for research directors and supervisors who provided the financial support so their students and staff could participate in the workshop.
We’re already planning our next workshop that will focus on computational tools for Digital Humanities, and are exploring opportunities to train more Software Carpentry-accredited instructors.
Please let us know if you have any questions about Software Carpentry events at NWU, would like to participate in upcoming workshops, or if you are interested in becoming part of this wonderful international community by being trained as an instructor.