pi-top blog

Code 4 Africa - My experience teaching Computer Science in Zimbabwe

By Andrea Buforn on Oct 17, 2018 11:13:01 AM

Topics: Projects code laptop News Story

Student Michael Tennant recently returned to Zimbabwe, a country he last saw when he was two years old, to help teach computer science. Here, in his own words, is what he got up to. 

I'm 17 and I am studying my A levels at Hills Road Sixth Form College in Cambridge, UK. I enjoy programming and engineering with particular interests in education and spaceflight. In my spare time, I volunteer for Cambridge University making VR environments.

I flew out to Africa to inspire, teach, and equip children in the field of programming.
My teaching has reached many children in Harare, and I have been able to donate equipment to some educational organisations to enable them to continue learning about programming. In summary, it has been an amazing trip and everyone that I taught has now got a better understanding of programming, and have been inspired to take their learning further.

Activity Details

I flew out to Harare, Zimbabwe on the 23rd of July and went to the  Gateway Primary School.  This venue had screens, keyboards, and mice that I could use. This was especially helpful as I was, unfortunately, unable to ship all of the screens, keyboards, and mice that I had available. This allowed me to have one station per student.


As they were already being taught about Microsoft Word and Excel, they could follow
my teaching without too much trouble. I taught them to program a simple guessing game in Python. They learnt about how a computer “thinks” and how to break a task down into smaller chunks.

One of my main methods in this regard is the jam sandwich analogy. This is where I
pretend to be a robot, that follows instructions just as a computer may. This taught the kids that they can’t just tell a robot to make me a jam sandwich unless it has already been taught how to do so. They had to go down to a more basic level, specifying to pick up the knife and open the butter before buttering the bread. The moment of realisation was when I couldn’t get a slice of bread because I hadn’t opened the bag yet! After this, they understood the mindset of a programmer and how to structure a task for programming.


I then went through the guessing game with them and let them practice, before asked them to tell me how to run the game just as they did in the jam sandwich analogy. This was how I introduced pseudocode to them, and I actively used this pseudocode in my explanation and walk-through of the code.

In places where the code reused a concept taught in previous lines, I asked the students what they thought would be best for this line. Many of them recognised that we had already coded something similar, and could even start coding the line before I told them what to write. This reassured me that they were indeed learning, and not just copying what I had written on the board.

In the end, everyone managed to get their code working and understand how it worked. From some of the feedback from the children, they really enjoyed the lesson and many were amazed that they had told a computer what to do!

The next workshop that I taught was still at Gateway primary. However, I was teaching teachers from external organisations that had come to Gateway for the workshop. I was not teaching Gateway students this time around.


The adults had a much more intuitive grasp of the jam sandwich analogy, and many came up with intricacies and snags that I hadn’t thought of myself! However, many of these adults were not computer literate. For many, I had to explain concepts such as Shift vs Caps Lock and, with one, using a mouse.

This was not something that I had anticipated, as I was not teaching in an extremely rural area and Harare is a large city. Regardless, everybody got their code working and I believe that some did actually find it useful and now understand some basic programming concepts.

The idea with the teachers was to try to reach more students than I could teach in my time there, as I could not teach as much as I had initially wanted to due to the Zimbabwe elections closing schools much earlier than usual. Unfortunately, I do not believe this to have been entirely successful. However, I do think I have sparked an interest in some; such that they may research further and be able to teach programming in the future. To fully enable teachers to start teaching in their own right, I would have had to run multiple workshops aimed at different abilities in order to catch some up and deliver further material for teaching.

The next place that I visited was the Zimbabwe Maker Club. Here, the students had already done some work in Scratch, but many hadn’t learnt this to an intuitive level yet. I was able to go through the jam sandwich analogy very quickly, and I was able to
finish the guessing game with lots of time to spare. Python was new to the students, evident through some basic mistakes. However, these mistakes were quickly corrected and the students learnt their way around the language very quickly; even making some jokes in their code! I could then move on to teaching python further, in the context of BBC Micro:bits. The students were able to bring across much of what they had learnt in the previous task - and we managed to make a picture gallery for the BBC micro:bits very quickly - some going on to customise their code!

Possible future plans

In teaching the kids, I realised that I have really sparked their interest in programming. My aim, in doing a workshop for educators, was to be able to equip them to teach their students some of what I had taught them - and some of what they had learnt themselves, after my workshop. This was based on the assumption that the educators would be quicker to understand the material.

Unfortunately, this assumption was wrong. However, the theory still lies. If I can teach other educators, then I will reach far more students indirectly than I ever could directly. If I were to do this trip again, then I would want to focus mainly on educators - and run a series of workshops aimed at getting them ready to teach code from the ground up. The other issue that I faced this time around that I won’t face again for a while, was the elections. Schools closed two weeks early to be polling stations. This significantly damaged my available time to teach. In the future, I will have time for more workshops.

Final words


This has been a brilliant experience; both for the kids and myself. I really loved the kids’
reactions to new concepts and how they handled these. Everyone that I taught was extremely thankful for the teaching and were hungry to learn more. This is where the kits come in - they will allow them to continue to expand on their skills and knowledge. The organisations were really grateful for the equipment, and I’m sure they will make good use of it.

The pi-topCEEDs were light and portable, and allowed me to set up a workstation in the blink of an eye! They were, both, great attractions when I was teaching - and both I and the educational organisations were so impressed with their ease of use and helpfulness. A great asset to the classroom!




Get the latest pi-top news sent directly to your inbox.

pi-top needs the contact information you provide to us to contact you about our products and services. You may unsubscribe from these communications at anytime. For information on how to unsubscribe, as well as our privacy practices and commitment to protecting your privacy, check out our Privacy Policy.

Share this article: