Practical Programming in Python: March 2026 workshop
Posted on Thu 15 January 2026 in Software
I am pleased to announce the first Practical Programming in Python workshop in Cambridge, UK, on the topic of Handling Data and Multimedia.
The workshop will run March 25th–27th (Wed to Fri).
The workshop will consist of intensive sessions covering a range of tools and techniques for data handling in Python, with plenty of time for hands-on activities and discussions. The activities and applications are all based on real-life tasks that I have worked on in my data engineering and data analysis jobs, as well as topics relevant to systems design interviews.
There will be space for 6–10 students. Registration will open in February; but you can pre-register now for a chance to shape the workshops towards your own interests.
Some more information about the workshop below, or read on for the syllabus.
About the workshop
Who is this for?
The workshop is aimed at people in research or industry looking to perform data analytics, or to speed up their workflows and reduce manual work.
The workshop assumes some programming experience, in any language: participants must be comfortable with concepts such as variables, conditionals, loops and functions. Experience in Python is very useful, but not required; instructions for setting up a Python environment will be provided before the workshop.
What's the format?
Each day will consist of two 3-hour sessions, and most of the time will be spent doing hands-on work. After each topic is introduced you will be put into pairs or small groups to work together on a mini-project. In each session there will be time for a discussion and an informal code review in which you will present your solutions to the other groups.
What will I learn?
You will meet modern tools and techniques for manipulating different formats of data, and apply them to situations based on real situations from research engineering in industry. You'll also meet and work with other people in similar positions, reviewing each other's code and sharing interesting ideas. The group size is very small so the topics and applications can be tailored towards your particular interests or fields of study.
You can read about my background and experience here.
How much is it?
The fee is:
- £360 for the full 3-day workshop
- £240 for a 2-day ticket
The discounted rate, available to students and people not in employment, is 50% off:
- £180 for 3 days
- £120 for 2 days
This includes access to notes and code after the workshop, as well as the private discussion channels in the Practical Programming Slack community where you can connect with other workshop attendees. Please note that catering is not included.
Syllabus
Below is a sketch of the topics and activities to be covered, subject to change. Please pre-register if you would like to make suggestions about topics that you would be interested in learning about.
Day 1: Numeric data
Handling numeric data is obvious important for anybody working in the quantitative sciences. Python has a vast "ecosystem" of tools for working with and analysing numeric data. The tools covered here form the backbone of machine learning systems (although ML is out of scope for this workshop), as well as more "traditional" topics in scientific computing, data science and simulation.
Topics:
- Understanding numeric types
- Regression analysis using Scipy
- Handling dataframes with Pandas
- Plotting graphs using Matplotlib
Applications and activities:
- Loading and exporting CSV files
- Solve a least-squares (regression) problem
- Load and analyse a dataset and produce a report
If there's time/interest:
- Time and memory performance
- Making interactive notebooks
- Monte-Carlo simulation
Day 2: Text, structured data and Internet
Data in the real world usually does not come in prepackaged CSV files. Here we shall meet a number of other common data formats, and explore some workflows for processing them. In particular, we shall learn how to scrape information from a web page – responsibly – and how to query external services ("APIs") for information and process their output. If there is time we shall talk more about how data and information are stored and passed around in distributed systems.
Topics:
- String methods
- Introduction to regular expressions
- JSON
- Web scraping and how not to do it
Applications and activities:
- Process and search text files
- Load and parse information from a web page
- Query data from an API (geographical/weather/financial depending on interest)
If there's time/interest:
- Reading PDF files
- Distributed systems design
- Types of databases
Day 3: Multimedia (audio and images)
Multimedia data is different from numeric and text data in that it is usually in a format that is not directly human-readable: we therefore meet the concept of encodings. Audio and image processing are both huge topics in their own right, and cannot be adequately covered in one day: this is simply a concrete introduction to the topics. While the focus is on audio and images, the topics and techniques here are also applicable to other forms of signals or data.
Topics:
- How audio and images are encoded
- SoundFile, PIL, and other media libraries
Applications and activities:
- Perform audio operations (padding, trimming, amplification, mixing)
- Detect an audio marker in an audio file
- Analyse the statistical properties of an image file
If there's time/interest:
- Compression methods
- Videos
- Spectral analysis
Pre-registration is open, please sign up to indicate your interest.