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
Prerequisites
A basic understanding of Python is expected, including familiarity with running scripts, working with data structures, and using simple functions and control flow.
Hands-On
Each session includes live coding demos and guided hands-on exercises to help reinforce learning outcomes and prepare participants for real-world tasks at LRZ or in their own institutions. Hands-on sessions will be conducted on the RedLion cluster at LRZ.
Details of the course can be found here: Modern Python in Depth - From Fundamentals to Acceleration