Console
PWSA 2021 (ONLINE)
FORMAT

Due to the global pandemic, our workshop for this year will be held fully online, from 30 August - 10 September 2021.

APPLICATION FORM

If you wish to participate as a learner, here is the application form. Deadline is 30 July.

If you wish to volunteer to help others learn, submit the call for volunteers. Application will be selected on a rolling basis.

LEARNING OUTCOMES

The workshop will span 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 will cover

  • 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 you will gain

  • 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 will cover

  • 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 you will gain

  • Better understanding of Python fundamentals

  • Problem solving

  • Programming confidence

  • Error Handling

  • Advanced data structures

Week 2 Track 1: Data science with Python

This track will cover

  • 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 you will gain

  • 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 will cover

  • 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 you will gain

  • Algorithms

  • Complexity

  • Debugging

  • OOP