Teaching basic lab skills
for research computing

Cape Town South Africa Workshop

Last week we ran the biggest software carpentry workshop in South Africa to date. We had more than 80 participants in two rooms, each using the novice Python material. Pre-workshop assessment surveys showed that we'd have a mostly novice crew, but with a few outliers on the upper end. We accepted slightly higher than 80 enrollment cap and encouraged those with more advanced skills to evaluate their interest in becoming SWC workshop instructors themselves and help us out as helpers.

Finding participants, local instructors, and helpers was not hard. Everyone enthusiastically jumped at the opportunity to be involved in a novel way of training newbies and more experienced people in the art of computing for research. Not only was the international community thrilled to participate and help organise the event, but local institutes, Deans, Professors, Research leaders as well as Research administrators and funders pulled together to sponsor the event and attendance of students. Partial funding was obtained through a Knowledge, Interchange, and Collaboration grant from the South African National Research Foundation. When we were running low on sponsorships, the University of Cape Town (UCT) ICTS department and UCT Research Office came to the rescue. The Bioinformatics Services Platform funded by the Department of Science and Technology also generously contributed funding to sponsor international instructors' travel. Furthermore the organizers of the preceding eResearch Africa Conference, the Association of South African University Directors of Information Technology (ASAUDIT), assisted with registration of participants.

Group Photo

Group Photo

Our participants were a good mix of postgraduate students, post-doctoral research fellows, lecturers, researchers and professors, as well as IT specialists and librarians from 11 South African research institutes across four of our country's provinces joined us at the University of Cape Town. Three students travelled > 1,000km to attend the workshop.

We had an excellent venue in the Snape Engineering Building of UCT's upper campus with an area across the courtyard for food and tea throughout the workshop. Wifi, power and high resolution projectors kept us all happy and on the same page. Superb technical support staff were on hand at all times to make sure things ran as smoothly as possible for learners. Attendees were able to mingle during the two hours of tea and lunch breaks each day, forging strong research partnerships and collaborations. There was a constant buzz when the 80 learners were socializing and refueling between instructional sessions, with informal times being just as important in developing communities of practice in various disciplines.

We had a relatively even mix of Windows, Linux and Mac computers with linux users sailing through with limited problems. Mac and Windows users had various problems with the most interesting being a locale issue for Macs set to South African English trying to run ipython notebook (addressed by setting these shell variables). Other than that there were various issues with old versions of Mac OS not running Git without XCode and various other minor issues that were mostly resolvable.

Classroom

Classroom

Our instructors traveled from the United Kingdom, the United States, Johannesburg, Italy and Cape Town. We had Jonah Duckles and David Merand in the first room and James Hetherington, Bruce Becker and Peter van Heusden in the second room. Prior to the workshop we had worked out who would be teaching various modules and built a jovial and collaborative teaching rapport during the conference leading up to the workshop. Material covered was the standard novice material covering shell, Git and Python, but not SQL. We taught shell and Git the first day, using a data Git repository we had learners clone the data sets to their computer, working out Git and network connection bugs as a first-step. We talked about how we'd be learning more about Git, but for now to see this git clone http://github.com/jduckles/uct-data command as a way to get the files in the repo to our local machine so we could use them. By the end of the first day we had covered shell, git local, git remote and set the stage for learning about Python the following day.

The second day covered all of the Python modules, going at a pretty slow pace as many learners were new to programming in general. We solicited feedback at each half-day and overall we struck a good balance of challenging learners with new concepts, while not leaving them frustrated and giving up.

One Learner's Feedback

One Learner's Feedback

By the end of the second day we had a lot of interest in follow-on concepts and learners were excited to see that all of the material they had worked was available online. We had excellent conversations and connections being built around the entirety of the South African research community and the enthusiasm and energy of the participants was evdident, even though their brains were a bit fried by the end.

We had an excellent set of 13 helpers coming from various institutions: Dane Kennedy (CSIR), Heine de Jager (UCT), Ashley Rustin (UCT), Armin Deffur (UCT), Anelda van der Walt (UCT), Chris Mitshengu (UCT), Gustavo Salazar (UCT), Jon Ambler (UCT), Benjamin Hugo (UCT), Jon Zwart (UCT), Adrianna Pinska (UCT), Timothy Povall (UCT) and Eugene de Beste (UWC). They were very enthusiastic and were also learning new things while helping to get learners moving through various technical challenges and hands-on exercises.

Dialogue & Discussion

You can review our commenting policy here.