Teaching
Teaching and knowledge-sharing have always been a core part of my academic journey. From my early years as a teaching assistant in Tübingen, through guest lectures in Verona, to leading my own courses in Wrocław, I have had the privilege of working with students across a wide range of disciplines — bioinformatics, medical informatics, data science, and clinical research. Below I've listed the classes I've taught or contributed to.
Introduction to clinical studies for Biomedical Engineering master students, Clinical-Studies centric lab.

This course provides a comprehensive introduction to evidence-based medicine and clinical research methodology. Students explore the full spectrum of clinical study designs — from observational to interventional trials, including platform and adaptive platform studies — alongside essential statistical methods and hands-on programming in R. The curriculum covers clinical data standardization frameworks (OMOP, SNOMED-CT, LOINC) and FAIR principles, practical data collection using electronic Case Report Forms (eCRFs) and tools such as REDCap, as well as heuristic methods including the Delphi method and 1000-minds. Further topics include systematic reviews and meta-analyses, Cochrane methodology, clinical algorithms, and an overview of research funding landscapes in Poland and internationally.

Programming in Data Science, co-Lecturer.

This course offers a practical introduction to data science programming, with a focus on Python and core concepts such as data types, representations, and programming paradigms. Students gain hands-on experience with numerical data analysis libraries before moving into image processing, similarity and distance measures, and nearest-neighbor search. The curriculum then covers unsupervised learning techniques — including clustering algorithms and dimensionality reduction — alongside data visualization methods. Later topics address data storage and collection, large-scale data analysis using streams and functional programming patterns (map, filter, reduce), and graph-based data representations including trees and networks.

Introduction to programming for Medical Informatics, Lecturer.

This course provides an introduction to fundamental programming concepts and the practice of writing code in Java. Students learn key principles such as variables, control structures, methods, and object-oriented programming, while gaining hands-on experience through practical exercises and projects. By the end of the course, students will be able to design, implement, and debug basic Java programs, building a strong foundation for further study in computer science and software development.

Databases for Medical Informatics, Lecturer.

A large course covering the theoretical and practical basis of SQL databases. The second part of the course focuses on NoSQL databases including MongoDB and Neo4j. The course finishes with a complete mini-project where students exercise their skills across the entire product-development path.

Transnational Medicine in COVID-19, PhD course, Guest co-lecturer.

I co-created this concise, 8-hour course designed for an interdisciplinary group of PhD students. The course focused on explaining the methodology of transnational research, with a particular emphasis on its application to infectious diseases — especially in the context of the COVID-19 era.

A practical interdisciplinary PhD course on exploratory data analysis.

Together with two other post-docs from the bioinformatics department, we proposed a broad, crash data-analysis course aimed at full-time researchers working with data. ~75 people signed up from different fields. We presented general principles of data analysis, Python tools for data manipulation and plotting, and machine learning principles. Taking advantage of the diverse group, we encouraged students to form interdisciplinary groups and apply new knowledge to real-life datasets.

Guest lecturer, Programming for Bioinformatics.

Invited for a week of classes in the Bioinformatics master's program taught by Prof. Rosalba Giugno to talk about metagenomics — covering 16S rRNA data analysis, whole-genome and long-read metagenomics. The class ended with a project on microbiome analysis in COVID-19 patients.

Informatics Vorkurs

I organised a group of fellow PhD students and prepared a Vorkurs for biology/biotechnology undergrads entering the Bioinformatics master's program. During five days, we taught essential computer skills: command line, git, Linux, basics of Python, Java, and LaTeX.

Bioinformatics proseminar

A flipped-classroom proseminar for bachelor students. I distributed topics among students, who prepared write-ups and presentations. My role was to teach scientific writing, presentation skills, and how to provide structured feedback. I conducted a metagenomics proseminar.

Visualization of Biological Data

TA for the Visualization of biological data course (three editions). The lecture followed the Visualization Analysis and Design book by Tamara Munzner. In tutorials I taught interactive design using JavaScript and D3.js. Sessions followed a blended-learning approach and ended with a group visualisation project and oral exam.

Group programming projects in Python and Java

University-wide group programming projects run in a scrum manner, with TAs as product owners and a rotating project manager role. Students set up repositories, maintained documentation, and presented results. Projects covered exciting bioinformatics-specific programming topics each year.

Advanced Java for Bioinformatics

A deep dive into Java, advanced programming, and visualisation in JavaFX. I created assignments and conducted practical sessions covering code review, UI design, and design patterns. The course ended with a group project to visualise 3D structures of biological molecules.

Bioinformatics I

Obligatory course for all first-year Bioinformatics master students, covering sequence-related algorithmics: pairwise and multiple sequence alignment, read-mapping, suffix trees, assembly, genome comparison, RNA secondary structure prediction, gene prediction, RNA-seq and more. Teaching covered theoretical algorithmics, reading publications, programming in Python, and setting up pipelines and bioinformatics tools.