Overview
Python is the current rating programming language according to the TIOBE index. Its success is not due to Python's superior speed or a revolutionary programming paradigm; instead, the key to its success is the massive ecosystem of libraries. In particular, we will focus on the Python scientific stack, a collection of libraries that expand the core language and allow to solve complex scientific tasks in a few lines of code.
Python is the go-to tool for modern data analysis and has become a core skill for all Physicists.
In this course, we will learn the basics of modern Python, and we will familiarize ourselves with the core libraries of the Python scientific stack..
Schedule:
11.04
- Why Python? Introduction to Python and why it is used everywhere.
- From prototyping in a notebook to large projects on a IDE.
- Write pythonic Python.
- Types, control flow and objects.
- Mini project : Solve tasks from the Adventofcode.
12.04
- Python scientific stack.
- Numpy, arrays and vectorised code.
- Scipy, matplotlib and pandas.
- Mini project: Processing Hubble Space Telescope.
- Mini project: Image filtering from scratch.
13.04
- Python machine learning stack.
- scikit-learn, scikit-image.
- Autograd and Neural network Pytorch.
- Mini project:: TBD
14.04
- High performance Python.
- Why is Python slow?
- Faster code with Numba, Jax, Ray, Dask.
- Mini project: TBD
Format
The block course will have four full days. Three hours of interactive lectures in the morning, while each afternoon will be reserved for exercises and mini-projects. The course will take place in Philosophenweg 12, CIP Pool.