Courses
Courses offered by members of the cryptology and data security research group. Current courses are listed below. See also the past courses and the thesis projects.
Overview
Undergraduate-level courses – Bachelor Informatik, University of Bern
Two yearly courses that introduce students to relevant areas in computer science and prepare for the advanced courses. Undergraduate courses are taught in German.
-
Paralleles Programmieren (Fall)
-
Algorithmen, Wahrscheinlichkeit und Information (Spring)
Graduate-level courses – University of Bern and Joint Master in Computer Science
Topics span cryptology, security, distributed computing, privacy, and more. Preview of the schedule.
Thesis projects
Fall 2026
-
Paralleles Programmieren (in German)
Bachelor Informatik, University of Bern; KSL 520006; please register in ILIAS.
Moderne Computersysteme sind mit Multicore-Prozessoren ausgerüstet und bewältigen mehrere Aufgaben parallel zur gleichen Zeit. Parallelität und auch sogenannte Nebenläufigkeit von mehreren Prozessen sind ebenfalls wichtige Abstraktionen, um komplexe Softwaresysteme zu strukturieren. Diese Vorlesung führt in parallele und nebenläufige Systeme ein. Sie zeigt, wie man Programme mit Multithreading schreibt und wie Rechenprobleme auf grossen Datenmengen mit parallelen Algorithmen effizienter gelöst werden können als mit sequentiellen. Darüber hinaus werden Primitiven und Programmiermuster zur Synchronisation von mehreren, gleichzeitig ablaufenden Prozessen eingeführt (wie Locks, Monitors, Semaphore, Channels usw.) und wichtige Datenstrukturen mitsamt ihren nebenläufigen Implementationen illustriert (wie Lists, Queues oder Stacks). Fundamentale Begriffe und Denkweisen werden präsentiert, und grundlegende Schranken für Mehrprozesssysteme werden gezeigt. Als Plattform wird die Java-Umgebung verwendet.
Voraussetzungen zum erfolgreichen Absolvieren dieses Kurses ist der Besuch der Vorlesungen Programmieren 1 und 2 sowie Datenstrukturen und Algorithmen.
Kurssprache ist Deutsch. Unterlagen sind in Englisch.
-
Distributed Algorithms
University of Bern and Joint Master in Computer Science; KSL 454448; please register in ILIAS.
This course provides an introduction to computing in a distributed environment without a central coordinator. It presents fundamental programming abstractions for distributed systems and fault-tolerant, highly available, and secure protocols that implement them. Important problems of distributed computing are discussed and influential impossibility results are shown. The central question of the course is how to tolerate uncertainty and adversarial influence, which may arise from network delays, faults, or malicious attacks in a distributed system. Topics include replication, quorums, reliable broadcast, distributed storage, consensus, Byzantine agreement, atomic broadcast, and notions of consistency arising in this setting. Applications to real-world systems will be presented, in the domain of cloud computing, cryptocurrencies, and blockchain systems.
-
Seminar: Cryptography and Data Security
University of Bern and Joint Master in Computer Science; KSL 453835; Registration required: see ILIAS once it is ready.
The seminar in cryptology and data security covers various relevant topics in the area and its contents will change from one semester to another. Typical subjects are cryptographic protocols, secure computation, privacy, distributed trust and blockchains. A seminar will start with an overview of the topic, where some basic principles are introduced. The main content will typically consist of interactive presentations by the participants, on the basis of the existing literature, ranging from classic research papers to recently developed systems. In addition, students as well as members of the cryptology and data security research group may present current work.
Theme of the seminar in Fall 2026 is not yet determined.
Spring 2026
-
Algorithmen, Wahrscheinlichkeit und Information (in German)
Bachelor Informatik, University of Bern; KSL 451670; please register in ILIAS.
Diese Vorlesung führt das Gebiet der randomisierten Algorithmen und probabilistischen Verfahren ein, welche heute in der Informatik eine grosse Rolle spielen. Darüber hinaus werden auch die Grundlagen der Informationstheorie und der Begriff der Entropie vorgestellt. Probabilistische Methoden und Analysen treten in vielen Gebieten auf, in der Kommunikation, in Machine Learning, zur Datenanalyse und in der Kryptologie. Nach einer Einführung in die Wahrscheinlichkeitsrechnung mit diskreten Ereignissen werden wichtige randomisierte Verfahren und deren Analyse behandelt, so zum Beispiel Abschätzungen mittels Chernoff-Bounds und die probabilistische Methode. Randomisierte Algorithmen auf Graphen und in der Zahlentheorie werden diskutiert. Entropie als Informationsmass wird eingeführt und Methoden für Codierung und Datenkompression behandelt.
Kurssprache ist Deutsch. Unterlagen sind in Englisch.
-
Privacy and Data Security
University of Bern and Joint Master in Computer Science; KSL 471352; please register in ILIAS.
The reliance of the information society on pervasive networks, mobile computing, online services, and cloud platforms continues to grow. The privacy of human activities and the security of personal data are challenged by today’s information technology in ways never seen before in history. This course focuses on privacy, security, and anonymity in a digital world. It explores the foundations of computer security, presents non-technical concepts of privacy, and illustrates tracking methods that serve to invade privacy. The main theme are cryptographic and non-cryptographic methods relevant for protecting privacy, anonymity, and data security. Topics include philosophical notions of privacy, privacy laws, measures for the privacy of data, differential privacy and its applications, data pseudonymization and anonymization, steganography and traffic hiding, network anonymity, and censorship resistance. Systems like privacy-preserving data collection in browsers and onion routing (TOR) are presented. Knowledge in computer science and networking is needed, but no background in cryptography is expected.
-
Seminar: Cryptography and Data Security
University of Bern and Joint Master in Computer Science; KSL 453835; please register in ILIAS.
The seminar in cryptology and data security covers various relevant topics in the area and its contents will change from one semester to another. Typical subjects are cryptographic protocols, secure computation, privacy, distributed trust and blockchains. A seminar will start with an overview of the topic, where some basic principles are introduced. The main content will typically consist of interactive presentations by the participants, on the basis of the existing literature, ranging from classic research papers to recently developed systems. In addition, students as well as members of the cryptology and data security research group will present their own current work.
Theme of the seminar in Spring 2026
Secure Hardware and Trusted Computing
Today’s computing systems are constantly threatened by malware and intrusions, and such attacks often succeed. Modern systems therefore rely on separate hardware components to gain additional security, which are physically or logically isolated from the main system. Their role is to manage cryptographic keys and biometric credentials or to carry out computations that involve sensitive data. Prominent examples are smart cards for authentication and authorization of users, SIM cards in mobile phones, hardware-security modules (HSMs) in data centers, secure elements on mobile smart phones, and trusted execution environments (TEEs) like Intel’s SGX and TDX technologies for general-purpose CPUs.
This seminar examines many of these technolgies, their capabilities, and the role they play for building secure computing systems. Students will explore the techniques, give presentations, develop prototypes, and demonstrate their solutions.
Participants must register in ILIAS and join for the first session on 25 February 2026.
-
Seminar: Usable Security
University of Bern and Joint Master in Computer Science; KSL 487868; ILIAS link only for registered students.)
In today’s digital age, security measures are paramount to protect sensitive data and maintain user trust. However, the effectiveness of these measures depends not only on their technical strength but also on their usability. Usable security ensures that security protocols and mechanisms are not only robust but also user-friendly, reducing the likelihood of user errors and security breaches. By aligning user needs and behaviors with security goals, usable security promotes a safer digital environment without compromising the user experience.
This interdisciplinary seminar is offered by the Psychology of Digitalization Division of the Institute of Psychology in collaboration with the Cryptography Research Group of the Institute of Computer Science. Students of psychology and computer science will work together and benefit from interactions with participants of the other field.
Important
Advance registration is necessary: Students of psychology register via KSL. Students of computer science register by sending email to Prof. Christian Cachin.
The deadline for registration is 6. February 2026.
Earlier semesters
-
Information about courses in earlier semesters can be found in the archive.