Advanced Python Programming


Course Description

A three-day Advanced Python course for participants with existing Python experience, who wish to deepen their programming knowledge further. Participants will be enabled to design robust Python applications using modern development methods, including how to use an AI Assistant to improve efficiency when writing code and adding AI features to Python applications.

Duration: 3 days


Who is the course for?

It is expected that attendees have some work experience with Python and/or have attended the Introductory Python course.

Learning Outcomes

At the conclusion of this course, attendees will be able to: Design robust Python applications using modern development methods Use Classes to maximise code reuse and portability Use design patterns when creating Python applications Design and create multi-threaded Python applications Create standalone Python interface with Tkinter and PyQt Work with JSON and XML data Access HTML from web pages Create web based applications with Flask Access and Edit Data from a relational database Create and run Unit tests Use Numpy for numerical calculations Use Pandas for data analysis Create your own Python modules Use an AI Assistant to improve efficiency when writing code Add AI features to a Python application

Python Review

Data Types and Variables Flow of Control Functions Lists, Tuples and Dictionaries Files Exceptions

Classes

Class variables and methods Working with Properties Special Class methods - "dunder" methods The Python data model Writing classes that can be sorted and iterated

Decorators

What is a decorator? Some sample decorators Decorators for oo programming @property @dataclass Creating your own decorators

Test Driven Development

Test Driven Development – Unit Testing Pytest VSCode Pytest integration Writing a test fixture to run for every test Writing a test fixture to run for every session

Database Programming

The SQLite module Database CRUD methods The Data Access Object design pattern Adding unit tests to the DAO

UI Programming

The TKInter module A basic windowed application Widgets Adding a list Event handlers

Using AI Assistants for Coding

Overview of AI Warnings Prompt engineering techniques Getting ChatGPT or Copilot to write code Iterative development

Working with APIs

The requests module Making a call Processing JSON / XML data Blocking vs asynchronous calls async await

PyQT UI Development

The PyQT module PyQT vs TKInter Creating a PyQT ui application Adding widgets Events Listbox Asynchronous api call from PyQT Adding extra data to a ListBoxItem

Functional Programming

Functions are first class objects Passing and returning functions Lambda Functions Map Filter Reduce

Web scraping

The BeautifulSoup module Basic concepts of web scraping Extracting all elements of a particular type Filtering out unwanted tags Extracting elements from tags Sample application, extract information from worldometers.info

Regular Expressions

Creating expressions Testing your expressions using regex101.com Searching Using groups in an expression Replace Sample - command line utility to obfuscate email addresses

Writing and Maintaining your Own Python Library

The __init__.py file .toml files Installing your module for local development Adding an external dependency Building your module

Introduction To Web Application Programming

The Flask module Web development basics Endpoints Returning HTML Using templates - the jinja template engine Deploying your flask application

Adding AI To Your Python Application Using ChatGPT API

Making an API call from Python Introducing the ChatGPT API Making a request A sample AI powered application

Understanding Git and GitHub

Code for course is shared using GitHub Cloning a repository Pushing to a repo Some GitHub features Configuring a GitHub action to run automated tests

Python for Data Science - Numpy and Pandas

The Data Science Handbook Clone repository Installing dependencies from requirements.txt Review Jupyter Notebooks Execute all code

Python For Data Visualisation - MatplotLib and Seaborn

The Matplotlib samples page Copying and running a sample dataforsci.com Cloning repository Installing dependencies Review topics Executing code


Schedule

NameDateLocation 
Advanced Python Programming 2026-10-14 Online

Python Python Programming Advanced Python Data Analytics AI Artificial Intelligence ArtificialIntelligence