Data analysis tools in Python


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



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


  • Python scientific stack.
  • Numpy, arrays and vectorised code.
  • Scipy, matplotlib and pandas.
  • Mini project: Processing Hubble Space Telescope.
  • Mini project: Image filtering from scratch.


  • Python machine learning stack.
  • scikit-learn, scikit-image.
  • Autograd and Neural network Pytorch.
  • Mini project:: TBD


  • High performance Python.
  • Why is Python slow?
  • Faster code with Numba, Jax, Ray, Dask.
  • Mini project: TBD


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.