CSA Africa 2022 

NitHub, 6 Commercial Road,

University of Lagos, Nigeria

18 July - 04 August, 2022


The criteria for our beneficiaries are as follows:

  • Be a national and resident of an African country.

  • Be able to communicate effectively in English.

  • Have a post-secondary education (either a current university student or a graduate).

  • Be interested in learning Python programming, and have some thoughts on how these skills will be of relevance to them.

  • Be available to attend the workshop physically in Lagos from 18 July - 04 August (subject to funding received from our sponsors, we intend to provide travel/accommodation support for people outside Lagos or Nigeria).

Applicant Information
  • Participant applications have now closed and we are not accepting any more applications.

  • Emails have been sent to shortlisted applicants to invite them to submit a 1 minute video as part of Stage 2 of participant selection. The deadline is 22 June. 

  • Successful applicants will be notified by 30 June.

  • You will receive any further information you need to prepare for the workshop in early July, including any financial support for those travelling from outside Lagos/Nigeria (this is subject to funding from our sponsors).

  • You must be available to attend the workshop from 18 July - 04 August at the NitHub, University of Lagos, Nigeria.


Are you comfortable assisting new learners with problem solving and debugging? Are you passionate about sharing your knowledge of programming with others? Are you based in Nigeria? If you answered yes to all, then consider applying as a volunteer for our workshop.

We've received 2000+ applications out of which we will be selecting up to 200 participants who will attend our Python programming workshop, in partnership with NitHub University of Lagos. We need the help of volunteers who can #help us tutor small groups of participants during the practical coding sessions.

  • Help at least 250 beneficiaries improve on their programming skills and confidence.

  • Provide child care and other types of support for women to increase gender diversity.

  • Provide support for participants from outside Lagos or Nigeria to attend physically.

  • Expose our beneficiaries to practical problems to give context to what they are learning.

Workshop tracks

The workshop will be split into multiple tracks to give all participants – from beginners through to those with more experience – the opportunity to learn new computer programming skills. The following information provides an overview of each track (further information TBC).

WEEK 1 (18 - 22 July)
Week 1 Track 1:
Python fundamentals for beginners

This track will cover: 

  • Introduction to Python programming

  • Variables and expressions

  • Sequential and Conditional coding

  • Loops and Iteration

  • Functions

  • Data structures (string, lists, dictionaries)



No programming experience is required for this track.

Week 1 Track 2:
Further Programming

This track will cover: 

  • Quick recap of Python fundamentals

  • Techniques to approach problem solving, e.g., recursion, memoization, divide and conquer.

  • Introduction to object-oriented programming

  • Introduction to functional programming (lambda, filter, reduce, map)

  • Python libraries (Numpy and Matplotlib)

WEEK 2 (25 - 29 July)
Week 2 Track 1:
Python fundamentals for beginners (continued)

This track will cover: 

  • Reading to and writing from Files

  • Python libraries: Numpy and Matplotlib

  • Reading data using Numpy

  • Plotting data using Matplotlib

  • Further problem solving



You must have successfully completed week 1 track 1.

Week 2 Track 3:
Introduction to Machine Learning

This track will cover: 

  • Machine learning: what it is and what it is useful for 

  • Basics of some machine learning algorithms, specifically regression, classification, clustering, and projection 

  • Metrics for evaluating machine learning methods

  • Some exciting developments in the area of machine learning

  • Further problem solving and applications 



You must have successfully completed week 1 track 2.

Week 2 Track 2:
Data structures and algorithms


This track will cover: 

  • Advanced data structures (stacks, queues, and BST)

  • Analysing the time complexity of a program using the Big-O notation  

  • Algorithms (searching and sorting)

  • Further problem solving


You must have successfully completed week 1 track 2.

Week 2 Track 4:
Introduction to Internet of Things (IoT)

This track will cover: 

  • Fundamental concepts of current, voltage, resistance, power, and understanding how to measure them  

  • Basic electrical safety and the design of basic electrical circuits  

  • Setting up  Raspberry Pi computer and connecting the required peripherals  

  • Executing Python programs from the Raspberry Pi desktop  

  • Using the Raspberry Pi and Python to sense and control the physical world  

  • Networking the Raspberry Pi to remotely sense, control and actuate the physical world 

  • Building interesting real-world applications with the Raspberry Pi and Python 



You must have successfully completed week 1 track 2.

WEEK 3 (01 - 04 August)


Following a brief recap of the material that has been taught, participants will be split into groups (based on their week 2 tracks) to work on a substantial programming project. Participants will be encouraged to work together to solve the task, and will present their work, as a group, on the final day.