Mission

Teaching people to build things that respect their users.

For seventeen years I have taught at the Faculty of Mathematics and Computer Science of Nicolaus Copernicus University in Toruń. The goal was never just to produce programmers. It was to produce engineers who ask “should we?” as readily as “can we?”.

Nicolaus Copernicus University

Faculty of Mathematics and Computer Science

Known locally as WMiI, the faculty is where I started in IT security and network management in 2006, became a lecturer in 2009, and later served as Vice-Dean for Computer Science.

mat.umk.pl
Sep 2009 — present

Adjunct Assistant Professor

Lecturing and running labs in concurrent programming, mobile development and team programming; supervising diploma projects.

Sep 2020 — Jan 2023

Vice-Dean for Computer Science

Responsible for the faculty’s computer-science programmes — curricula, quality, students and staff — through the pandemic years and the return to campus.

Oct 2016 — Sep 2020

Dean’s Representative for Computer Science

Cooperation with external companies: internships, industry-sponsored projects and bringing practitioners into the classroom.

Sep 2014 — Jun 2018

President of the Board, Fundacja Rozwoju Informatyki WMiI UMK

The faculty’s foundation for the development of computer science — supporting students, events and equipment beyond what the budget allowed.

Oct 2006 — Sep 2009

Senior IT Assistant

IT security and network management for the faculty — the hands-on start of a career in protecting data.

Classes

What I teach

Courses built around real code, real constraints and real users — because that is where good engineering habits are formed.

Team Programming

Students form teams, pick a real problem and ship a working product over a semester — with sprints, reviews, demos and a client who actually wants the result. The closest thing to a first job that a university can offer.

Concurrent Programming

Threads, actors, locks and the bugs they cause. How to reason about systems where many things happen at once, and how to design so that correctness does not depend on luck.

Mobile Development

Native iOS with Swift, SwiftUI and UIKit; architecture patterns such as MVVM; and the privacy and performance discipline that a device in someone’s pocket demands.

Team Programming

From semester project to shipped product

The Team Programming course is the part of my academic work I am proudest of. Over the years its teams have taken projects far beyond the grade sheet: applications released to real users, prototypes adopted by partner companies and institutions, and ideas that outgrew the course to become start-ups and careers.

The method is simple and uncomfortable. Teams are cross-functional and self-organising. Requirements come from a real stakeholder, not a handout. Every sprint ends with a demo to people who were not in the room when the decisions were made. And every product must answer the question my whole career revolves around: what happens to the user’s data?

Many of my former students now build the systems that the rest of us depend on — including several of the engineers I work with at SIMPLITO.

Community

meetit.live

A series of open technology meetups hosted at the Faculty of Mathematics and Computer Science. Practitioners, researchers and students in one room, talking about what is actually happening in software — from AI to security to the craft of building products.

  • Open to students, professionals and anyone curious
  • Talks from industry and academia, followed by real conversation
  • Hosted on campus in Toruń, announced on mat.umk.pl
The best thing a lecturer can produce is not a graduate who knows the answers, but one who knows which questions the users would ask.
Błażej Zyglarski
Students & partners

Have a project worth a semester?

Companies and institutions with a real problem to solve, speakers for meetit.live, or alumni who want to say hello — get in touch.