DSC-2026-14 | Advanced Python for Researchers: Writing Structured and Reusable Code
Wann?
11. November 2026
9:30 - 17:00 Uhr
Wo?
Campus - Raum folgt in Kürze
Trainer*innen
Annika Nolte
Timo Laudi
Data Science Center, Universität Bremen
Anzahl Teilnehmende: Max. 20
Sprache: Englisch
Why is the topic important?
Python is a powerful and versatile programming language that can support a wide range of research tasks involving both qualitative and quantitative data. However, research code often grows from short exploratory scripts into larger and increasingly complex analyses. Without a clear structure, such code can become difficult to understand, modify, reuse, and share. Researchers from all disciplines benefit from learning how to move beyond individual code snippets towards well-organized and reusable Python programs. The workshop emphasizes good programming practices that support reproducible research, efficient collaboration, and the documentation of analytical workflows.
Workshop Goal
By the end of this workshop, participants will understand key principles for writing structured, readable, and reusable Python code. They will gain hands-on experience in Object-Orientated Programming (OOP) practices. For this purpose, we will look into the concepts of encapsulation, abstraction, inheritance and polymorphism. Utilizing these concepts, we will be able to separate research workflows into clearly defined steps such as data processing, analysis, and visualization that can be reused and easily extended.
Participants will learn what these key concepts of good OOP code mean, how to apply them and how they reduce repetitive code. Additionally, they will also become familiar with basic approaches to testing, debugging, and error handling. In a hands-on session, participants will have the opportunity to apply these concepts by restructuring their own or provided research workflows.
Workshop Content
- Reviewing and improving existing Python scripts and Jupyter Notebooks
- Organizing code into classes
- Writing and using reusable functions with parameters and return values
- Understanding variable scope and avoiding unnecessary global variables
- Using loops, comprehensions, and suitable data structures effectively
- Building an inheritance structure, that allow to easily extend the code and distribute code over multiple classes
- Techniques for writing readable code
- Introduction to simple testing and validation of research code
Target Audience & Prior Knowledge
The workshop is designed for researchers with basic Python experience who would like to improve the structure, readability, and reusability of their code while becoming familiar with selected programming concepts from computer science. Participants who need to refresh or acquire the required fundamentals can work through introductory self-study materials before the workshop, such as the Data Science Center’s GitHub repository “Python Introduction for Researchers”.
Technical Requirements
- Own laptop and connection to the Wifi (e.g. via eduroam).
- Please make sure you have access to the Jupyter4NFDI.
- Participants may optionally bring a (short) Jupyter Notebook or Python script from their own research that they would like to revise during the workshop
About the Trainers

As a DSC Data Scientist and Environmental Scientist, Annika Nolte supports researchers with their data management and analysis workflows. In training and consulting, Annika draws on broad expertise in Earth system sciences and extensive experience in scientific programming. Her main focus areas are data standardization, data management, statistical methods, geospatial analysis, and machine learning in environmental and marine sciences.

As a computer scientist, Timo Laudi manages the infrastructure and IT services of the DSC and offers support to their users. He has a particular interest in machine learning and, as part of his doctoral research, focuses on techniques and methods aimed at making artificial intelligence more sustainable and efficient.

