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.
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