Teaching Software Carpentry at the University of Botswana

Posted by g.law on 30 September 2019 - 7:39am

By Raniere Silva

Botswana university
Photo by Raniere Silva

On 16-19 September, I taught a Software Carpentry workshop at the University of Botswana.

The workshop was hosted by the Southern Africa Innovation Support (SAIS) Universities-Industry-Government (UIG) Co-creation Platform and had more than 30 learners.

Because Professor Tshiamo Motshegwa was travelling during the workshop, Badisa Mosesane was in charge of the talk about The Carpentries and introduced me.

During the workshop, I taught navigating files and directories with Bash, working with files and directories with Bash, for-loop with Bash, Git, GitHub, for-loop with Python, if-clause with Python, Python functions, Python scripts, debugging Python code, and Make.

I was planning to cover more topics, for example, testing your Python code and continuous integration, based on my conversation with Professor Tshiamo Motshegwa, but I had to slow down the speed of the workshop because of the heterogeneous classroom. On the feedback, learners with experience in programming in other languages reported the pace was too slow but during the workshop many learners asked me to slow down. This is one of the reasons that the green-red sticky note is very important for us.

Software Carpentry workshops are live coding. The Instructor Training material says:

"For every command you type, every word of code you write (…) say out loud what you are doing while you do it. (…) This slows you down and allows learners to copy what you do, or to catch up."

Even after teaching many workshops, I still have trouble typing at the same speed as the slowest learner. One of the things that I really want to try is to have one helper typing the commands that I say to the class.

Another trouble that I faced again in this workshop is to create an environment that is as similar as possible to what my learners have. I was using a virtual machine running Windows that I created before the workshop but some learners hadn't installed Git Bash or Anaconda in their personal machines and, because of the slow Wi-Fi, I asked them to install the “old” copy that I had on my USB flash drive. The result was that some learners didn’t have nano available from Git Bash and their version of Jupyter Notebook and matplotlib required the use of ‘%matplotlib inline’.

A new challenge for me was that this workshop was taking place during the school semester and some learners only attended part of my lessons. Because the workshop was designed so that later chapters would reuse earlier ones, learners that skipped one chapter struggled to follow the workshop when they returned. To avoid this challenge, The Carpentries promote the creation of a local team of instructors to allow workshops to be offered more often and with an agenda that accommodates learners’ need.

Despite the challenges, learners were very satisfied with their new skills at the end of the workshop.

Botswana students
Photo by Raniere Silva

It was a pleasure to me to meet researchers based in Botswana and I hope to see some familiar faces during CarpentryCon 2021 that will take place in South Africa!

This blog post was first published on rgaiacs.com.




Want to discuss this post with us? Send us an email or contact us on Twitter @SoftwareSaved. 

Share this page