Since 1998 Software Carpentry (today the Software Carpentry Foundation) has been teaching researchers around the world the computing skills they need “to get more done in less time, with less pain”. In July UCTeResearch co-hosted their second of many planned SWC workshops. The workshop attracted almost 70 postgraduate students and researchers of all career levels, from a variety of disciplines, looking to improve their scientific computing skills.
Organisers and trainers of the SWC workshop say the popularity should come as no surprise, considering the critical need for these skills, which are not (yet) being taught as part of standard curricula in many programmes. The recent SWC workshop offered researchers a grounding in Python and R as well as version control, and basic shell commands to allow them to conduct data analysis in software that is both freely available and commonly used to improve the reproducibility of data analysis.
“We know that researchers do a lot of data analysis with tools such as Microsoft Excel, but these tools are not ideal for reproducible data analysis.” explains Peter van Heusden, software developer at the South African National Bioinformatics Institute and SWC trainer in South Africa. “The attendees of the workshop are exposed to tools and methods that can help them to do data analysis in a way that allows them to share their methods and open them to collaboration and validation.”
Matt Lammens, SWC trainer from New York who participated in the most recent UCT workshop, agrees. “This scientific programming skill set is needed not only in the sciences but a whole lot of other fields too,” he says. “It used to be that if you had these skills you were a really great partner to have on a project or a paper, but now it really is something every researcher needs to be effective in the new age of data-intensive research.”
Beyond just the skills and training element, SWC offers an incredible opportunity for networking and collaboration. Anelda van der Walt from Talarify says SWC is a powerful initiative: “It brings together researchers from all career stages and all disciplines around the world and not only facilitates an opportunity for this diverse community to communicate their challenges in research computation, publication and other related topics, but actually converts these conversations into actionable outputs.” Over the last few years volunteer researchers in the Software Carpentry community have collaborated to develop and optimise lessons for teaching Python, R, the shell, version control with Git as well as Mercurial, MATLAB, and Make. A number of academic papers have come out of Software Carpentry collaborations, and even textbooks inspired by SWC are starting to see the light. To top it all new undergraduate and postgraduate curricula is being developed based on the SWC principles.
The SWC initiative is very suitable for resource-poor research environments, she adds. The material for the workshops is all published under the Creative Commons license which means it is available for re-use at no cost. Anyone can contribute to the material which is hosted on GitHub.
“By becoming part of the SWC conversation, researchers plug into a vibrant community who openly discuss their computational and other research-related challenges and actively work on solutions often relevant to the broader community,” says van der Walt.