A Year Of Software Carpentry in South Africa

This post originally appeared on the Software Carpentry website.

After the Software Carpentry workshop ran jointly with the eResearch Africa conferencein November 2014, we were looking for opportunities to run more workshops in South Africa in 2015. In May we ran our first remotely instructed workshop (with thanks to Laurent Gatto and Software Carpentry for the remote option) focusing only on R to counter possible time loss due to technical glitches. Then it was onto remote instructor training together with two groups on other continents (one in the USA and another in the UK) in June. Six new instructors were trained, four of them having gone on to teach one or more subsequent workshops. In July we joined forces with UCT eResearch to host a third local workshop, joined by an experienced SWC instructor, Matt Lammens from the US, who happened to be visiting. Another workshop was offered in conjunction with the SAEON Graduate Student Network Indibano in September. The next one was co-organised by Adrianna Pińska from the Cape Python User Group in October in Johannesburg. In November 2015 we ran the sixth Software Carpentry workshop in 12 months at North-West University.

In all, six new instructors were trained, approximately 28 helpers recruited, and more than 200 learners from over 18 local organisations have participated in the 6 workshops between November 2014 and November 2015. There have been a number successes, but of course also some large, and small, bumps in the road.

Who participated?

Our participants represented undergraduates, postgraduates, postdoctoral research fellows, early career researchers, established researchers and even National Research Foundation rated researchers. Participants also included professional staff in the academic IT departments and libraries and even folks from industry.

South African organisations represented by SWC participants in 2014/2015

What have we learnt?

Having a community to connect to before and after workshops is essential for sustained learning and actual use of the skills learnt during the workshop. A Cape R User group was started in 2015 which is great for local (SA is big) assistance and community, but doesn’t help all that much with other regions. We’re still thinking of a solution for building a community to support git/GitHub novices as there are currently only the GitHub Guides on YouTube but no physical community to join. For Python in Cape Town there is the Cape Town Python User Group who have also been involved in running and supporting Software Carpentry workshops locally. Establishing links with user groups and communities in other regions of South Africa who can support workshop participants beyond the two days is a high priority for 2016.

The workshops and content themselves are still often a big jump for students who come in struggling with their computers and how to navigate an ecosystem more complicated than a word processor and internet browser, and the conceptual leap to programming and algorithms. This is a problem we haven’t really solved yet, but the pre-workshop help/install sessions go a long way, and we have some ideas.

Small changes can make big differences - these are things like moving to the three-colour sticky system (blue = working, red = struggling, green = done), making sure the instructor shows an IDE on default settings (massive confusion at the last workshop due to moved-around RStudio panels), pre-defining and redefining the core terms over and over again…

The pool of instructors is still far too small, and the time demand (especially for travel) is significant, which is probably the biggest bottleneck to running large numbers of courses. The instructors themselves, though, have been growing as a team (because they keep working together) and that has been a major positive as the discussion in and around tea and lunch usually centres on solving problems, improving outcomes or just brainstorming different ways to get the main messages across to the diverse audience.

What next?

More workshops in 2016, a local instructor training event, moving out of SA and into parts of the rest of Africa (eg. Kenya, Namibia, Mozambique all have rumours of workshops). Once the local instructor capacity is in place, we’d like to try the four-day half day workshop format.

For the workshops themselves, some ideas that have come up are to provide printed cheatsheets with basic commands, and some way to get systematic followup and support for participants (perhaps even Twitter?) .


Except for the first workshop in November 2014, we have had no major sources of funding. The bulk of the costs has been covered by a minimal registration fee of ZAR500 (~GBP 24 / Euro 35 / USD 35e). Registration fees are paid into cost centres of host institutions to lower the administrative burden on researchers and students. Fees can be paid via internal fund transfer from research cost centres or via electronic funds transfer (EFT) should participants be paying from their own pockets. Budgets have been supplemented by small donations and sponsorships from hosting institutions and private organisations.

Not accounting for the time spent by organisers and instructors, the bulk of the budget goes towards catering (when we have local trainers available). We’ve tried to provide participants with three tea breaks daily, as well as lunch. This has proved to be quite successful (when the coffee isn’t terrible) in stimulating much-needed conversations outside of the classroom.

Other costs include: * Travel and accommodation costs for instructors * Flash drives to have local copies of data and GitHub repositories in case of power outages and to save on bandwidth * Name tags * Sticky notes * Renting of audio/visual equipment * Dinner for instructors/helpers * Social event at the end of the first day to allow extra time for networking in a more relaxed setting (we’ve done this at four out of six workshops and it has been received quite positively)

Accounting for the time spent by “someone” to organise the workshop is essential.

Thank you!

Special thanks to Greg Wilson, Jonah Duckles, James Hetherington and Aleksandra Pawlik who helped us to run the first workshop a year ago and who have subsequently been incredibly supportive in many, many ways. The debriefing meetings orchestrated by the mentoring subcommittee has been invaluable to learn from others and we appreciate the time they make available to run these.

We’d also like to thank our South African hosts, the eResearch Africa conference organisers, Stellenbosch University Department of Genetics, University of Cape Town (UCT) eResearch, the South African Environmental Observation Network (SAEON), PyConZA, and the North-West University for the opportunity to teach and learn with their students and researchers.

The workshops would not have been possible without the enthusiastic participation of researchers, students and technical staff as helpers and/or learners. Thanks for your feedback and for hanging in there even when we were having technical challenges or when the explanations just didn’t make sense.

Lastly, thanks to our instructors who have time and again volunteered to teach another workshop and who’ve contributed to the growth in so many ways!

Highlights from SWC workshops in South Africa

South African Organisations Abbreviations:

UCT: University of Cape Town; SU: Stellenbosch University; NWU: North-West University; SAEON: South African Environmental Observation Network; UWC: University of the Western Cape; UFS: University of the Free State; CSIR: Council for Scientific and Industrial Research; IL: Ithemba Labs; SKA: Square Kilometre Array; AIMS: African Institute for Mathematical Sciences; GSH: Grootte Schuur Hospital; SAWS: South African Weather Services; UP: University of Pretoria; WCDA: Western Cape Department of Agriculture; WITS: University of the Witwatersrand.

Dialogue & Discussion

Comments must follow our Code of Conduct.

Edit this page on Github