Software Carpentry in Australia: current activity and future directions by Damien Irving
Software Carpentry is a volunteer organisation that teaches basic software skills to researchers in science, engineering and medicine. Supported by the Mozilla Science Lab, it runs two-day bootcamps all over the world, provides open access material for self-paced instruction, and runs a training program for aspiring instructors. The core two-day curriculum includes the Unix shell (and how to automate repetitive tasks); Python or R (and how to grow a program in a modular, testable way); Git and GitHub (and how to track and share work efficiently); and SQL (and the difference between structured and unstructured data).
While the organisation has been around for over a decade, it had a breakout year in 2013. The number of qualified instructors swelled to over 100 and collectively they ran over 100 events for over 4300 researchers in a dozen countries. To kick things off in Australia, the founder of Software Carpentry (Dr. Greg Wilson) visited Sydney and Melbourne in February 2013 to host the first ever bootcamps outside of Europe and North America. Since that visit five local instructors have been trained up and have delivered an additional ten bootcamps around the country.
This presentation will review the first year of Software Carpentry activities in Australia, with a particular focus on the key lessons learned in teaching computational best practices to the research community. Future plans and directions will also be outlined, including an overview of an innovative new project called the Research Bazaar. Coordinated out of The University of Melbourne, this project has started offering regular bootcamps to researchers in the Melbourne area and looks set to inspire widespread institutional support for bootcamp delivery. The Software Carpentry teaching materials are also undergoing rapid development, with work on an advanced curriculum and new lessons on “data carpentry” already underway. There are very few examples of open, collaborative lesson development in the education sector, so the application of routine software development practices in this space (e.g. version control, pull requests, and the progressive release of new versions) is somewhat ground breaking.