The course has been designed for scientists and engineers to teach the practical programming skills that are relevant for modern computational science. The module does not assume prior programming knowledge of participants but advances at a fair speed. The module uses hands-on activities for all participants to exercise and experiment with the taught material. The material covers a wide spectrum of skills that are advantageous for scientists who need to handle data - be it from experiment or simulation – and provides a basis for self learning or directed learning of more specialised topics at a later stage.

Topics include:

- Introduction to data types in Python
- Control flow
- Name spaces
- Input/Output
- Higher order functions
- Main programming paradigms (imperative, functional, OO)
- Important Python modules for computational science (numpy, scipy, pandas, sympy)
- Data visualization with matplotlib
- unit tests and pytest
- venv and pip
- Spyder IDE
- IPython
- Jupyter Notebook

15th – 26th January 2024 (no activity on Saturday and Sunday)

There are 2.5 hours online lectures every day (10:00-12:30)

During the afternoon (14:00 - 17:00) support is offered for self-paced practical exercises. Participants with prior knowledge will not need the full time slot in the afternoon.

When you register, please use your official institute's email address, not gmail/hotmail/gmx/yahoo/web.de/... addresses.