First week: Done

We’ve just finished week 1 of our Summer program here in Ghana, so it’s time to take stock and reflect on what we’ve achieved.


Firstly, this program is much bigger than last year. Student numbers fluctuated in the first half of the week for a number of reasons: a public holiday on the Monday that we valiantly taught through; another Summer Camp that delayed the start of Global Code for some students, and a couple of no-shows who saw their friends having fun and came along on the Tuesday or Wednesday.

We aimed to accept 33 students for each site with a capacity of 30, to account for no-shows. In total this year we’ve got 75 students across three sites, with 13 women. I’m really pleased with this result and I think it reflects our determination to increase the visibility of Global Code in Ghana and particularly amongst female developers.

Juliet finds her feet in the Linux terminal in Koforidua

Last year we taught 18 students in total, two of whom were women. At the end of the program I declared a policy goal of 50% women in our program and took the following steps to met that goal:

  • Made it clear that the program ran until 4pm every day. It’s important to give clear working hours because quite often young women in Ghana have responsibilities at home.
  • Asked our host universities to provide free accommodation to girls. We’ve been very clear about our commitment and we’re grateful to the faculties at the University of Cape Coast, the University of Ghana, and Koforidua Technical University for helping meet this aim.

Of course there’s more that we can do to reach our target of 50% women. Here are some thoughts:

  • In one of our host universities there are only 8 women in the whole faculty, and 6 of them are on our program. We accepted all eight but two are committed to another program.
  • This year we opened applications in late March, which is too late. For the 2019 program we’re planning to open applications later this year, in November 2018 before the Christmas holidays.
  • This is our second year at Koforidua, the site which had the highest number of applications (65). We’ve got greater credibility there because the students and staff know our program and the great results we generate. We’re hoping to ‘bed in’ at UCC and UG in a similar manner, and receive more applications of greater quality next year.


In our 2017 program I taught on my own, and what gave me the greatest reward was building a curriculum on the fly, accounting for the knowledge, understanding and aptitude of the class that came on day 1. As a technologist and professional instructor it’s incredible to be able to balance the needs of a class with just the right amount of ‘stretch’, to push people beyond what they think they can achieve.

Alex leads a Raspbian installfest at UG Legon

As we grew to three sites and I asked people to volunteer and come to Ghana to teach, I wanted to give those people the same feeling, and so whilst we’ve maintained a common thread (hardware basics, the Linux terminal, python, git), we’ve been careful not to define the order or depth in which those elements are taught: setting out a formal curriculum beforehand, particularly across three very different university groups, would be too brittle.

However, we have to be accountable – to our students, sponsors, donors and indeed to ourselves. Over the next year we’ll work to formalise our approach to teaching. I aim to adopt an “unconference” style, which allows for the instructor and the students to define their own curriculum, whilst maintaining some shared elements. Our desired output is incredible Software Engineers and I think the best way to do that is to support the volunteers that join our program with teaching materials and hardware, then trust them to deliver on our aims.

Week 2

We’ve started working with a local graphic designer on a contract basis to work on design elements for our program and our brand. It’s important we work with local staff, so our chief designer Anna has taken Jemimah on board and we’re looking forward to great things. I’m excited that we’re able to show our commitment to employing talented Ghanaians!

Our hardware supplier, Isaac, is just getting back from four days in Nigeria. We sponsored his trip to the Tony Elumelu Foundation event in Lagos, where he’s been conferencing and workshopping and networking. He’s hoping to expand his operations into Nigeria and we’re thrilled to be able to help.

Today we say thanks and goodbye to Massimo, one of our volunteers from Morgan Stanley, who’s been working hard at KTU – thanks Massimo!

Massimo finishes day #1 with a recap of the Linux terminal

…and we welcome Gjeta, Damask and James, so we only have to make one airport trip. Gjeta and Damask are taking a week’s holiday in Ghana with Stephen and Alex, who have been here working at UCC and UG. Our Summer program is becoming a cats-cradle of logistics and I’m grateful to Ibrahim for helping me keep track of things on the ground.

James is one of our charity trustees, and we’ve got a stack of meetings lined up to raise awareness of our operations, and to drum up support so we can grow.

In class, we’ll be using what we learned in week 1 and building on that to create some distributed systems with MQTT and hosting platforms like Heroku. We’ll be using the GPIO pins on our Raspberry Pis to introduce simple electronics, allowing us to build IoT systems including sensors and actuators. And towards the end of the week we’ll introduce our plan for week 3: projects.

Watch this space!



One week until the second Global Code Summer Program kicks off, and we’re making our final preparations to make sure it all goes smoothly!

Local GC staffer Ibrahim has been working closely with out university contacts at Koforidua Tech, Cape Coast and UG Legon to prep our teaching areas and staff accommodation,

Electronics supplier and Ghanaian entrepreneur Isaac Sesi has been instrumental in our hardware testing,

Hardware Testing at UG Legon

Designer-on-the-ground Jemimah has been working on our social media plan,

Our teaching staff has been heads-down in planning and building teaching materials,

Special thanks to our Morgan Stanley volunteers!

And most importantly of all, NINETY Ghanaian students have been confirming their attendance and preparing for the summer camp!

You can keep track of our progress here on our blog, and on twitter @glblcd and Instagram @glblcd. DM or to help out!

2018 Applications

Great news – applications for the Global Code Summer Program 2018 are open!

We’ll teach Linux on the Raspberry Pi, Python, internet and IoT technologies, and electronics. After the program finishes, we’ll give you the Raspberry Pi as a gift.

It’s a three week program running five days a week, from July 2-20. Class is from 9am-12pm and 1pm-4pm.

This is our second year, and we’re growing! This year, as well as KTU, we’ll be running the program at Cape Coast University and the University of Ghana!

Applications are welcome from all students at KTU, UCC and UG who will start their final year of a programming course in September. Female applicants will be given free accommodation on-campus, thanks to our university hosts. To apply, simply fill in the form here:

For more information, contact or call Ibrahim on +233 24 490 5148.

Positive changes

Last year we taught 18 students, only two of whom were women. Our aim is 50% so that was pretty bad. But I think that if you’ve got the right attitude and you’re honestly trying hard to do the right thing, a setback like this shouldn’t stop you from moving forward.

In other words, we ran the 2017 Global Code program knowing we’d have to work harder next year, which is where we are.

In 2017 we accepted 8 women (all the female applicants) to the program. On day 1 only two of them turned up. I asked Josh to approach the others and ask if they’d consider joining class, but none did.

After the program ended, I asked Josh to approach those applicants again and see if there was anything about the program we could change to make it more appealing to women: to carefully find out if we’d done anything wrong.

The answers can be grouped into three:

  • The applicants had chores at home that couldn’t be left undone.
  • The applicants weren’t sure what time of day the program would be running.
  • The applicants weren’t sure they could find safe accommodation for the program.

Ultimately, there’s not a lot we can do about the first issue. People have responsibilities and were asking for a commitment to fifteen days of a students summer holidays; that’s a big ask.

The second issue is easy to fix: we put the class times on our advertising. We work 9-12 and 1-4. We don’t let anyone stay in class over lunch or after the end of the day, so people are free to leave and there’s no preferential treatment for those whose schedules are more flexible. And we don’t assign homework.

Finally, to solve the third issue we approached our host universities and asked them to provide free on campus accommodation for our female students. I’m very grateful that they all graciously accepted, and I’d like to thank the faculty of KTU, UCC and UG for so kindly accommodating (literally!) our female applicants.

Applications are still coming in and we hope that 2018 is our first program with gender parity amongst our students.

Issues we’re still working on:

  • Currently 25% of our volunteer staff are women. We’re actively recruiting women and PoC staff for next year and working on funding their trip (~£2k each)
  • Last year the tshirts we gave to students were pretty crummy. We’re working with a Ghanaian textiles importer to get good quality brandable apparel from a Californian supplier.
  • I just bought 13 return flights to Ghana, I’m hoping to make Global Code carbon neutral in 2019
  • We give each student a Raspberry Pi 3B to use in class and let them take it as a gift when the program is over. It’s got an HDMI port so not many of our students are able to use them at home – again, we checked. So next year I’m hoping to add an HDMI/VGA adapter to our hardware buy.

Guest Post: A Week (and beyond) with a Raspberry Pi 3

(In this post, Ghanaian developer and Global Coder Rexford Nkansah gives us his hot take on the Global Code 2017 Summer Programme. Thanks Rexford!)

The first time I saw a Raspberry Pi was about three months ago. It was during my interview with Barnabas, who is into Internet of Things (IoT) and robotics. Barnabas shared some of his endeavours and projects, of which some of his works got him to represent Ghana in Dubai recently. More on that later.

On the very same day, I got to see an Arduino board too. Pretty fascinating devices. Their potential and the possibilities they come with, almost infinite!


Rexford Nkansah

In all, I did not get to play with one practically until the Tech Leads Ghana Summer Program 2017 in collaboration with IoT Africa. The chance I had to firsthand, get myself dirty with the Raspberry Pi was a truly inspiring experience.

For the most part, the Summer program was more of a refresher course for me, as I spend many hours a week DevOps’ing. It was just a ball in my court! Heck, I am a Web Developer too.

However, the part that got me excited more was the Raspberry Pi experience and here, I share my experience below.

Understanding GPIO through use

Our first attempt at practically doing something ‘useful’ (turn on a LED bulb), was a success. As fundamental as it seemed, it opened my eyes to the possibilities. I wasn’t alone though.

I could see the faces of some 20 individuals who took part in the program cheer up, and light bulbs go on in their minds.

Getting the LED to light also ‘led’ to the understanding of what the breadboard is designed to accomplish. Took a while to understand the rows and columns and how they play integral way in forming circuits, circuits that get data signals from the GPIO pins to instruct whatever the input or output is.

General-purpose input/output (GPIO)

As we moved on to build slightly more complex setups meant the full potentials of the Raspberry Pi kept uncovering. When we threw in a button, which when pressed, lit up the LED bulb meant whatever the program was taking us through was hitting home right and solid.

As chaotic the wiring seemed at first, tracing the input points and where they ended up (the Ground (GND)), gave a clearer picture.

Before I went into the course, I had no experience related to Raspberry Pi’s, no ever thought I would one day be IoT’ing. Yet, there I was, setting triggers and lighting up LEDs, to even triggering sending of emails via If This Then That (IFTTT) services.

Speaking of sending emails, since Python is my go-to programming language for many of my web development activities (cough cough, Django), the existence of a fully featured and rich API for communicating with the Raspberry Pi was a relief.


Rexford (center) with John from Rancard, and our Tech Leads star Josh Kumi

Icing on the Cake with Python GPIOZero

Having 20-pair GPIO pins that one could use to take input with or send signals out from is nice! What is even more amazing is the ease one could programmatically control.

GPIOZero made programming around feedback and signals sensors and input devices connected to the GPIO pins simple and streamlined.

In all, I realized I could throw the GPIOZero package into my usual Django applications, giving an interface to controls I have prepared on my Raspberry Pi. Thus the on and off button could be wired into an interface over the web, allowing an arbitrary user to turn on or off the LED light from anywhere in the world. Pretty handy!

Personal Customizations

So recently, I switched to using Mate Desktop full time, when news of Ubuntu switching to Gnome dropped. Therefore, I had to run a few changes to bring my Raspberry Pi to my taste, UI-tically and familiarity-wise. Forgive my English!

The Raspbian OS didn’t work as functional as I expected. The Mate Desktop for Arm architecture was the savior.

Each and every participant of the Tech Leads Ghana summer program took home, each a Raspberry Pi Model 3 and its related accessories, except a Monitor. Of course, I didn’t expect to carry home a monitor.

A big thank you to Sam Moorhouse, our instructor for the Summer Program for such a wonderful gift.

The customizations I applied to my Raspberry Pi are available on the Raspberry Pi website. Here is mine:

  • Installed a brand new shiny Mate Desktop 16.04 LTS on my Raspberry Pi. The experience with Mate Desktop, just smooth!
  • Installed OpenSSHServer, so I could remotely communicate with the Raspberry Pi via SSH (assuming both Raspberry and my machine are on same LAN or WLAN
    • After setting up my SSH, I then threw in VNC, thus without plugging my Raspberry Pi to a monitor, I could still have a GUI, via SSH.
  • Remotely accessing my Raspberry, as long as it is connected to the internet, from anywhere in the world.
    • I went with Dataplicity.

Check out the Remote Access section of the Raspberry Pi documentation to learn more about ways to go about you Raspberry Pi.


I really enjoyed this year’s summer program by Tech Lead. Hopefully, next year’s event will be much more interesting and educative, even more.

Kudos to the Tech Leads Ghana team, and IoT in Africa.

Thanks again, Rexford! You can follow his work here. Global Code returns to Ghana in July 2018. Read more about our work or buy a Raspberry Pi as a gift to a student. Thanks!

Guest Post: My Experience at the Global Code Summer Programme

(Our first programme was called “IoT in Africa” In this post, Global Coder Synvalnus Gatorwu describes his experiences on our 2017 Summer Programme)

It began as a whatsapp invite, and suddenly I felt an excitement to attend.


The impression I had upon entering the lab on a Monday morning was one of mixed feelings. I didn’t know what to expect. What I saw however raised my hopes that it was going to be practical, and not one of those talk shops.

As a science student during my O’level and A’level days, the lab is not a strange place to me, but an IT lab certainly is.


Synvalnus Gatorwu

The next observation I made was our tutor. He was a British and obviously an experienced IT personality. I concluded that the next three weeks was going to be one of those serious intellectual times in my life, and I wasn’t wrong, it was a life changing one.

Initially, I had just come on the first day to see if this was something worth my time. After what I saw upon entering the lab, I changed my status to one of “I am really going to cancel all appointments and devote these three weeks to this”

This is how Rexford Nkansah, a web developer who was with us described Sam Moorhouse, our tutor:

The Instructor Sam Moorhouse, the instructor for the 3-week summer program is an industry expert experienced in working on real-world applications using battle-tested platforms and or tools in real-world organizations.

Although his experience and knowledge are deep, Sam’s teaching skills allow him to draw the students out into the bare open with simple-to- understand expressions and explanations. I personally enjoyed his lectures and hands-on assistance.

For me, in one sentence, he is an experienced teacher who knows how to teach the most complex of things in the simplest of ways.

Week One.

The first week of the program was exciting. We were introduced to intriguing subjects that got the entire class yearning for more. For someone like me, it was an eye-opener to be introduced to Internet of things, the Raspberry Pi, and more.

We started with the basics of Python, linux, went through a bit computing and networking fundamentals, using the Raspberry Pi, and IoT programming using programmable web and the particle IoT platform. All these are were new to me, and as a broadcast journalist, a statistics graduate and public health student, I asked myself “how come I didn’t know all these”

The entire program was so practical, there was hardly any lesson that didn’t involve hands-on, we got to apply everything we studied, and immediately appreciated their use in the real world.

The biggest surprise was the introduction to the Raspberry Pi, which I hadn’t seen before, its usage was an eye opener.

Week two

Began with another exciting Monday as we were informed of our trip to Accra on Thursday. Flask, was our first lesson in week two, and I was so elated to have seen how it works.

Heroku as another joy as we deployed the application and saw it work. The MQTT was also a delight to operate.

Need I state that, these are all new to me, unlike some of the students who already know of some of these, for me, it was a joy because I had not heard of these before.

Git and Github become a sensation among all the students. ‘git add’, ‘git commit’, and ‘git push’ probably will be the last any student of the program would forget. These terms became the mantra of the entire program.

Behold, it was Thursday, and time for the trip.

I had to finish up a meeting at the National Communications Authority Head office, yet I
couldn’t miss such a glorious opportunity to see real software engineers at work. I dashed to Accra by 5am, got my work done with the officer, and met up with the team.

My first reaction was to bring my journalistic prowess by interviewing Joshua Kumi, the brain behind Tech Leads and Sam’s man on the ground. The interview was live on facebook.

I was yet to appreciate the beauty of the IoT in Africa and Tech Leads T-Shirts, when I saw students in the bus, it was such a beauty.


Synvalnus models our tee-shirts #bluesteel

Our first stop was at Rancard.

For me, it was like magic, starting from Ghana, they have spread their tentacles across the globe. And it was time for me to ask questions on how it was done, making it possible for text messages to be sent across platforms in real time, and the volume of it was amazing.

The “control room” my own term to describe where their work was being monitored was
awesome. At least, it demystified my thinking on how this “magic” works.

Our next stop was at hubtel

I must say, we had a lot of detail in hubtel because the presentations were a number, and then we had the opportunity to be taken round their various departments, unlike rancard where we were a bit restricted, hubtel gave us a treat, and for the first time, I saw computers with such giant screens.

We interacted with some of the engineers who were busily “coding” and who left their work to interact with us. I couldn’t resist the temptation of touching the screens to have a feel. I, for the first time, saw how and where phone applications are tested before released into the market.

I must confess, some of the terminologies used were new to me, and as a journalist, I came home to do a lot of homework.

Just before we left, we were showed the only laptop that was used to start the company an old dell computer. Lesson, little beginnings can lead to great ends if only one doesn’t give up.

The icing on the cake for me was a student from a country in the western world who had come to do internship, and to think that Ghana would have a company that would attract such was for me very hopeful of Africa’s potential.

On the Friday of the second week, Sam Moorhouse led us to choose our projects.

This was the most exciting time of the week, we all went home thinking and dreaming of our projects.

The week was an excited one as we all completed our projects ahead of time for the scheduled exhibition on Friday.

This is how a Senior Web Developer who spent time with us, Rexford Nkansah put it.

“Controlling an LED with a button press through the Raspberry Pi General-purpose input/output (GPIO) pins with the above code was fun.

As the LED goes on, the endless possibilities achievable with the Raspberry Pi kept popping up in our heads. Each nod by a student meant a light bulb in their mind came on. The experience was engaging and fun.

Writing basic Python code to turn our idea (turn on a light bulb by button press) into reality (light actually turned on) was priceless. As trivial as it seemed, the feeling and joy such an experience carried were more than words could describe.

Our understanding of the use of the breadboard meant we could build complex circuits using different sensors to achieve varied results. A firm grasp of the fundamentals was all that was needed, and the ideas started flowing.”


The If This Then That event open source function was simply scintillating. In combination with our Raspberry Pi functionality, we could get emails sent after a button press.

Think of a panic button for your shop. Or the panic ‘word’, where a sensor would pick up your voice, and trigger an event.

In short, our ideas run wild. The practical understanding meant, we all took home a strong appreciation for what tech could help us all achieve.

This, was the project my team and I embarked upon, and an application, I am exploring for my website I intend to have publications sent to all social media accounts of my budding organization that specializes in churning out health news from Ghana to the world.

Our project used all we had learned, wrote a code in python, used the If This Then That (IFTTT) function, and then had a circuit in place on our breadboard, in addition to others, connected to a sensor.

When the code is running, this is what the project would do:

The concept is this: When my door bell or button is pressed, check to see if I am around and light a bulb so I would know, there’s someone at the door.

If I am not in, send me an email so I would get to know, there’s someone at my door.

And it did just that.

As a person new to these, I have come to appreciate the world of code, open source applications and electronics.

At the end of the program:

Every student of the Tech Leads Ghana 2017 Summer Program in collaboration with IoT in Africa took home a Raspberry Pi Model 3, a 16 Gig SD Card, a micro USB charger brick and cable, a breadboard and an HDMI cable.

Priceless gift! A big thank you to Sam.

My application of the program is going to help me reach a larger audience than I used to with my health news.

My gift of the Raspberry is going to be used in my newly acquired office.

Thanks to you once again for the great door opened to me into the world of IT.

Koforidua Technical University, where it all happened, will certainly be a place to remember.

Thanks Synvalnus Gatorwu! The Global Code Summer Programme returns to Ghana in July 2018. You can help by getting in touch and buying a Raspberry Pi as a gift to a student. Thanks!

GlobalPi: The Raspberry Pi as a teaching computer

In July 2017, we ran our first Global Code Summer Programme. One of our challenges was finding the right platform for our students. We wanted everyone in the class to have the same opportunity to learn and grow, so it was important that we bring our own hardware, rather than using whatever was available. We also wanted the flexibility to teach what we wanted  – meaning an IoT-rich curriculum with plenty of coding time using industry-standard tools.

We chose the Raspberry Pi 3B, and this is why.


The Raspberry Pi allowed us to dive straight into Linux and Python – the bedrock of our course and the balance of most of the teaching in week #1. Josh and I did all the setup ourselves on the Sunday before kick-off – plugging in, testing, installing Raspbian, then unplugging 30 Pis was the work of a couple of hours.


We don’t do holy wars: Linux is a battle-tested, widely-used OS and every Software Engineer should have a firm grounding in the shell, so we needed to spend a couple of days letting our students discover the terminal, filesystem, editors, and Python REPL. The Raspberry Pi allowed us to do all this without either repurposing whatever hardware the students owned, or supporting a bunch of different configurations in-class.

Finally, Raspbian comes pre-installed with a decent Terminal, some Python editors, and a Python 2.7 (remember, no holy wars) REPL – and a whole bunch of other useful stuff is available with a quick “apt-get”.


The Pi is underpowered for any kind of heavy lifting – I run a tab-heavy Chrome which simply doesn’t fly here – but it’s great for the kind of work we do in class – editing and running Python, looking up documentation, and fooling around with the shell.

Two things that really stand out with the Pi, though –

  • You can see the hardware. The 3B is about the size of a deck of cards – easily small enough to pick up and poke around on. They’re fairly robust so we didn’t use the cases we had in class – on day #1 we spent some time figuring out what all the components did, which really helped to demystify computing hardware.
  • The GPIO pins really help to bridge the gap between programs running in a virtual world where stuff happens but really has no effect, and the physical world where lights flash and bells ring. Being able to extend your computing environment into the real world helped students feel like they really could solve real-world problems with computers.



The Raspberry Pi foundation has a truly excellent distribution model, meaning their hardware is available globally, with a short lead time, for a reasonable price.

It was important to us to buy locally, for two reasons:

  • Import and customs logistics is boring, and a place where we really add no value – a prime candidate for outsourcing,
  • We’d much rather build a relationship with a local supplier and let them profit from doing the work.

Josh and Sam drive to Kumasi. Thanks, Isaac!

We were lucky enough to find Isaac Sesi at Invent Electronics, and took a trip up to Kumasi to pick up the 33 Raspberry Pi starter kits and 6 Arduino starter kits we’d ordered from him. Isaac is a mainstay of the local maker community, and he co-founded the Nsesa Foundation, a Ghanaian organisation which aims to inspire students to be innovative using science and technology. He’s top talent and we’re happy to partner with him.


The Pi is tiny – it’s lightweight, comes with a screw-on case so you can throw it in your bag, and it’s low-powered so you can run it from a USB socket on the back of a PC (which is what we did). It’s great for teaching a student – but more importantly, for our purposes – it’s great for teaching 18 students! The Pi made our get-in cheap and easy.


Whilst our decision was easy, there are a couple of practical downsides to the Raspberry Pi:

  • HDMI video – is all that’s available. Because this is still a fairly new standard it’s difficult to find cheap HDMI monitors on the secondary market. Our labs had multi-input VGA/DVI-D monitors which meant we were able to use a passive HDMI/DVI-D adapter cable, but this is a potential issue in other cases. Similarly, many of our students don’t have HDMI kit at home, which limits their ability to continue learning out of class.
  • Digital GPIO – unlike the Arduino Uno, say, the Raspberry Pi can only read digital in – which means the components you use must be set up specially if you need to read more than just 0’s and 1’s. This was fine for us but if you want to read the room temperature or humidity using commonly available components you’ll have to do some more work.


The Global Code Summer Programme 2017 finished on July 28. We’ll be back in Ghana in 2018 – find out more on Twitter, Facebook and Instagram, or get in touch and buy a Raspberry pi as a gift to a student.