Skip to main content

This course is delivered entirely as an online course. Participants are expected to connect using their own computers and to follow along with hands-on exercises during the sessions. A stable internet connection, webcam, and microphone are recommended for interaction and support.

We will be working on the JupyterLab environment provided by the Gauss Centre for Supercomputing (GCS) Portal: https://portal.gauss-centre.eu/

Contents

Python has become the programming language of choice in scientific computing, AI, and data-driven research. This refresher course is aimed at users who have a basic working knowledge of Python and want to strengthen their skills before moving on to more advanced training in areas such as machine learning, workflow automation, and accelerated computing.

Over five interactive online sessions, participants will revisit core Python concepts, explore practical tools for modern development, and gain exposure to the scientific Python ecosystem. The course will conclude with an introduction to parallel computing using Python tools that are compatible with HPC environments.

The course is designed to be hands-on and interactive, with each session combining short presentations, coding demonstrations, and practical exercises.

The five sessions cover the following topics:

1. Core Python: Fundamentals

  • Python syntax and data types
  • Variables, control flow, and functions
  • Lists, dictionaries, sets, and tuples
  • File I/O and scripting basics

2. Core Python: Advanced

  • Comprehensions and lambda functions
  • Exception handling
  • Object-oriented programming concepts
  • Decorators & Generators and type hints

3. Python Tooling

  • Conda environments
  • Packages and modules
  • Writing clean, testable code
  • Profiling and timing

4. Scientific Python

  • Array operations with NumPy
  • Data wrangling using pandas
  • Plotting with matplotlib and seaborn
  • Introduction to scikit-learn

5. Parallel Computing and Accelerated Python

  • CPU-bound vs I/O-bound Tasks
  • Using multiprocessing for parallel tasks
  • Just-in-time compilation with Numba
  • Acceleration with Cython

This course prepares participants for more specialised topics, such as those covered in the LRZ AI Training Series, and helps build confidence in using Python effectively for research and development workflows.

Fees

None

Pre-required logistics

A basic understanding of Python is expected, including familiarity with running scripts, working with data structures, and using simple functions and control flow.