
CSA Africa 2021 (ONLINE)
FORMAT
Due to the global pandemic, our workshop for 2021 was held fully online, from 30 August - 10 September 2021.
LEARNING OUTCOMES
The workshop spanned two weeks, with two parallel tracks in the first week as well as the second week.
FINAL REPORT
This report highlights details of the 2021 workshop which took place fully online due to the ongoing pandemic.
Week 1 Track 1: Python fundamentals for beginners
This track covered:
-
Introduction to Python programming
-
Variables and expressions
-
Sequential and Conditional coding
-
Loops and Iteration
-
Functions
-
Data structures (string, lists, dictionaries)
-
Files
Pre-requisite:
No programming experience is required for this track.
Skills gained:
-
You will be able to read in data from the keyboard or a file
-
Write out to the screen or save the data in a file
-
Store the data in various data structures such as lists and dictionaries
-
Process the data using iteration and conditions to solve problems
-
Use functions to reuse sections of code in the program
Week 1 Track 2: Programming confidence and problem solving
This track covered:
-
Quick recap of Python fundamentals
-
Techniques to approach problem solving, e.g., recursion, memoization.
-
How to get confident with programming
-
Python errors and how to handle exceptions with try and except
-
Advanced data structures (stacks, queues, binary search trees)
Pre-requisite:
Good understanding of Python fundamentals, including functions, file IO, and the basic data types (lists, strings, tuples and dictionaries).
Skills gained:
-
Better understanding of Python fundamentals
-
Problem solving
-
Programming confidence
-
Error Handling
-
Advanced data structures
Week 2 Track 1: Data science with Python
This track covered:
-
Numpy: you will learn why ndarrays are useful for high dimensional data and apply commonly used numpy functions
-
Plotting your data using matplotlib
-
Basics of some machine learning algorithms, specifically methods for projection, clustering, and classification
-
Application of what you’ve learned to real world problems
Pre-requisite:
-
Good understanding of Python fundamentals
-
Knowledge of how to use Python libraries
Skills gained:
-
Efficiently storing and processing data using numpy
-
Data visualisation
-
Machine learning fundamentals
-
Evaluating the performance of your machine learning algorithms
Week 2 Track 2: Algorithms, complexity and object-oriented programming (OOP)
This track covered:
-
Analysing the time complexity of a program using the Big-O notation
-
Algorithms (searching and sorting)
-
Object-oriented programming (objects, variables, methods and operator overloading)
Pre-requisite:
Good understanding of Python fundamentals, including functions, file IO, and the basic data types (lists, strings, tuples and dictionaries). Also, ideally, participate in track 2 of week 1.
Skills gained:
-
Algorithms
-
Complexity
-
Debugging
-
OOP