Skip to content

Instantly share code, notes, and snippets.

@probablytom
Created October 19, 2018 12:18
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save probablytom/5fdefd116e3df241ed69f4c068732bcb to your computer and use it in GitHub Desktop.
Save probablytom/5fdefd116e3df241ed69f4c068732bcb to your computer and use it in GitHub Desktop.
SICSA blog article from Tom

PWSAfrica 2018

This July, five adventurers from Glasgow University set foot in Nigeria to run Programming Workshops for Scientists in Africa (PWSAfrica)'s first event. The workshop was certainly successful, supporting 120 attendees in learning the basics of Python programming over two weeks, and we're very proud of what we've achieved!

Naturally, in running an event like this, there were all sorts of details to be covered if our efforts were to be fruitful. What would we teach? How would it be taught? What computers would we teach on? Planning to teach programming in a room of people with no computing background and no reliable technology presents a unique collection of challenges that were rewarding and exciting to solve --- and, once they had been tackled, paved the way to a successful two weeks!

The content

PWSAfrica's mission was to empower scientists without access to computing science / programming education in Africa, by making this education available and giving them the tools they would need to enhance their work with a new programming skill.

In order to do this, we split the course into a few sections: Python fundamentals for the first half of the course (based at least partially on Dr. John Williamson's materials for teaching Python at Glasgow University); following this, a few days were spent on packages specifically useful for use in a scientific context, such as numpy and matplotlib; finally, participants completed group work where, for two days, they worked together to complete challenging tasks that would test their Python abilities. These were genuinely complex, and included producing animations of fireworks, writing language interpreters, solving mathematical modelling challenges and constructing matching algorithms.

An exciting part of the workshop --- from our perspective --- was how quickly we had to think to accommodate new information as we received it. Within the first day of teaching it quickly became apparent that the method of teaching we had assumed --- providing content in Jupyter notebooks that could be worked through and assisted with by tutors in the room --- did not work well with a room of students with a mostly mathematical background! Their preference was to begin with a lecturing style, meaning we were constructing our content usually the night before it was delivered.

However, when we did teach with a lecturing style, we were hit with another surprise: students also enjoyed seeing code being run on a projector, and much preferred the tight feedback loop of writing code and seeing it execute to code written on a board, almost as mathematics. This wasn't what we expected at all, and we found ourselves fitting to a blend of the computing science teaching we were used to and the mathematics-style teaching that they were familiar with.

This quick turnaround, where we would have to quickly find and implement solutions to problems, kept the team on our toes in a satisfying and exciting way.

The participants

An aspect of the workshop that stood out to all involved in PWSAfrica was the way our participants responded to being a part of the workshop. Their enthusiasm for the course was tremendous; students were eager to ask questions and engage with the material; especially excited students would stay for their morning session, and then after their lesson was finished, sit through the repeated lesson in the afternoon so they could ask further questions. We had to give them their own room!

Events like PWSAfrica are only as successful as the people who attend, because ultimately, our "product" is their learning. For all our careful planning, the students' willingness to engage determined whether efforts were worth it! So, considering this, the students we happened to receive were an absolute gift.

The tech

Planning technology to teach with in Nigeria was an interesting challenge. We were unsure how dependable the computing labs in the department might be, so staking all of our teaching on the computers available --- and the space in the local computing lab, too --- seemed unwise.

Rather than teach on these computers, we had participants bring their laptops in! The day before the workshop started, we ran an "installation party" where students could bring their laptops and get help following installation instructions for Anaconda on their systems. Once every laptop had a working installation of Anaconda (which was its own challenge to overcome), they would have a system with Jupyter, Python, Matplotlib, Numpy, and all sorts of other technologies that could support their learning both in the lab and after we returned home.

As an added bonus, one of us took an afternoon away from the classroom and installed Anaconda on the computers in the university's lab, too, meaning that the university could teach python, and students could use it without providing their own hardware.

The future

The workshop was run at the University of Ibadan, in Oyo State. Our hosts were kind and hospitable, and went to every effort imaginable to make sure our experience of Nigeria was the best it could possibly be; it was. We all had a phenomenal time and are deeply proud of what we managed to accomplish, with over 100 students attending every session and contributing to complex group work at the end.

Our own experience was incredible, and we all have our own stories and memories that were taken from the trip. Personally, I still crave "Mr. Dennis' Very Good Eggs", have flashbacks every time I have to restart a Jupyter kernel, and reminisce on the heavy Nigerian rain cutting through muggy warm air. I loved the way it would kick up dust, and then angst from our students, who managed to spend most of their year free of precipitation altogether.

The memory that will make me return, though, is the empty streets. Early morning runs, where we'd puzzle passing goats as we ran into sunrises, and late night walks, through unlit forest paths, staring into another contintent's constellations, made an adventure of different qualities to anything I'd experienced before. I can only speak for my own memories, but I know we all took these away with us, and I know that these memories are what make us hungry to return.

Which is to say: between our own incredible experiences, students with a voracious academic appetite, exciting technological challenges, and the eventual success of seeing students solve genuinely complex problems, we all consider PWSAfrica to be a roaring success: for the students' experience; for the teaching we achieved; and for our own incredible journey.

Needless to say, we're excited for 2019.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment