Computer Science
Bachelor's programme in Computer Science (135 cp, 2016 study regulations)
0086d_k135-
Non-sequential and Distributed Programming
0086cA1.5-
19322101
Lecture
Concurrent, Parallel, and Distributed Programming (Claudia Müller-Birn, Barry Linnert)
Schedule: Mi 10:00-12:00, Do 12:00-14:00 (Class starts on: 2025-10-15)
Location: T9/Gr. Hörsaal (Takustr. 9)
Comments
Website: https://www.mi.fu-berlin.de/w/SE/VorlesungNichtseq_Vert_Prg2025
Contents:
Programming and synchronization of concurrent processes that share resources or interact through message passing.
- Non-Sequential programs and processes in their various forms, non-determinism, determinism
- Synchronization mechanisms: locks, monitors, guards, events, semaphores
- Non-Sequential program execution and object oriented systems
- Control flow, strategies selection, priorities, handling and avoiding deadlock
- Coroutines implementation,
- - Multiprocessor systems
- Programming and Synchronisation of concurrent processes that interact through message passing
- Remote Calling Techniques
- Client-server, Peer-to-peer Networks
- Parallel computing over networks
- Concurrent and coordination languages
- Processing on the server and on the client.
- Middleware, structured communication, static and dynamic interfaces
- Event-based and stream-based processing
- Security of network applications
- Non-functional Aspects (time, memory, quality of service)
Suggested reading
Literature:
- Principles of Concurrent and Distributed Programming. M. Ben-Ari. Addison-Wesley.
- Distributed Systems. Concepts and Design. Fifth Edition. George Coulouris, Jean Dollimore, Tim Kindberg, Gordon Blair. Pearson.
-
19322102
Practice seminar
Practice seminar for Concurrent and Distributed Programming (Barry Linnert)
Schedule: Mo 10:00-12:00, Di 10:00-12:00, Di 14:00-16:00, Mi 12:00-14:00, Do 10:00-12:00, Do 14:00-16:00, Fr 12:00-14:00, Fr 16:00-18:00 (Class starts on: 2025-10-14)
Location: T9/053 Seminarraum (Takustr. 9)
-
19322101
Lecture
-
Computer Architecture, Operating Systems, and Communication Systems
0086cA2.1-
19300601
Lecture
Computer Architecture (Larissa Groth)
Schedule: Di 12:00-14:00, zusätzliche Termine siehe LV-Details (Class starts on: 2025-10-14)
Location: , Hs 1a Hörsaal, T9/Gr. Hörsaal
Comments
The module Computer Architecture covers basic concepts of computer systems. Topics are von-Neuman/Harvard architecture, microarchitectures, RISC/CISC, micro programming, pipelining, caches, memory hierarchy, bus systems, assembler programming, multi processor systems, branch prediction, representation of numbers and other data types, computer arithmetic.
Suggested reading
- Andrew S. Tannenbaum: Computerarchitektur, 5.Auflage, Pearson Studium, 2006
- English: Andrew S. Tanenbaum (with contributions from James R. Goodman):
- Structured Computer Organization, 4th Ed., Prentice Hall International, 2005.
-
19300604
PC-based Seminar
Practice seminar for Computer Architecture (Larissa Groth, Marius Max Wawerek)
Schedule: Mo 12:00-14:00, Mo 14:00-16:00, Mi 12:00-14:00, Mi 14:00-16:00, Do 14:00-16:00, Do 16:00-18:00, Fr 12:00-14:00, Fr 14:00-16:00 (Class starts on: 2025-10-13)
Location: T9/K38 Rechnerpoolraum (Takustr. 9)
-
19300601
Lecture
-
Impacts of Computer Science
0086cA3.1-
19301301
Lecture
Consequences of Computer Science (Lutz Prechelt)
Schedule: Mo 12:00-14:00 (Class starts on: 2025-10-13)
Location: T9/Gr. Hörsaal (Takustr. 9)
Additional information / Pre-requisites
The course language is German, including all slides and practice sheets.
Homepage
http://www.mi.fu-berlin.de/w/SE/TeachingHome
Comments
This course deals with the consequences of computer science. Its aim is to establish an understanding of the fact that computer systems intervene in manifold ways in our private and professional lifes and shapen them. Many of these influences bring about major risks and need a conscious and enlightened composition in which computer scientists by nature play an important role -- or should at least do so.
We will for example have a look at how computerisation influences our private sphere, economics and society as a whole, our security and working environment. A conceptual introduction will provide orientational knowledge besides basic knowledge (Verfügungswissen) and strategies how to deal with both: analyse critically and get involved in the technical development.
Suggested reading
See the slides.
-
19301302
Practice seminar
Exercise for Consequences of Computer Science (Lutz Prechelt, Linus Ververs)
Schedule: Mo 10:00-12:00, Di 12:00-14:00, Di 16:00-18:00, Mi 08:00-10:00, Mi 10:00-12:00, Mi 14:00-16:00, Mi 16:00-18:00, Do 16:00-18:00 (Class starts on: 2025-10-13)
Location: T9/049 Seminarraum (Takustr. 9)
Comments
siehe Vorlesung; Informationen zu den Zeiten und Orten der täglichen Übungen sind zu finden auf der Veranstaltungswebseite
-
19301301
Lecture
-
Database Systems
0086cA3.2-
19301501
Lecture
Database Systems (Katharina Baum)
Schedule: Di 10:00-12:00, Do 10:00-12:00 (Class starts on: 2025-10-14)
Location: T9/SR 005 Übungsraum (Takustr. 9)
Additional information / Pre-requisites
Requirements
- ALP 1 - Functional Programming
- ALP 2 - Object-oriented Programming
- ALP 3 - Data structures and data abstractions
- OR Informatik B
Comments
Content
Database design with ERM/ERDD. Theoretical foundations of relational database systems: relational algebra, functional dependencies, normal forms. Relational database development: SQL data definitions, foreign keys and other integrity constraints, SQL as applicable language: essential language elements, embedding in programming language. Application programming; object-relational mapping. Security and protection concepts. Transaction subject, transactional guaranties, synchronization of multi user operations, fault tolerance features. Application and new developments: data warehousing, data mining, OLAP.
Project: the topics are deepened in an implementation project for student groups.
Suggested reading
- Alfons Kemper, Andre Eickler: Datenbanksysteme - Eine Einführung, 5. Auflage, Oldenbourg 2004
- R. Elmasri, S. Navathe: Grundlagen von Datenbanksystemen, Pearson Studium, 2005
-
19301502
Practice seminar
Practice seminar for Database systems (Pascal Iversen)
Schedule: Mi 12:00-14:00 (Class starts on: 2025-10-15)
Location: T9/049 Seminarraum (Takustr. 9)
-
19301501
Lecture
-
Fundamentals of Theoretical Computer Science
0086cA4.1-
19301201
Lecture
Foundations of Theoretical Computer Science (Günther Rothe)
Schedule: Mo 10:00-12:00 (Class starts on: 2025-10-20)
Location: T9/Gr. Hörsaal (Takustr. 9)
Comments
Contents:
- models of computation
- automata
- formal languates
- grammars and the Chomsky-hierarchy
- Turing-machines
- computabilty
- introduction to the complexity of computational problems
Suggested reading
- Uwe Schöning, Theoretische Informatik kurzgefasst, 5. Auflage, Spektrum Akademischer Verlag, 2008
- John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman, Einführung in die Automatentheorie, Formale Sprachen und Komplexität, Pearson Studium, 3. Auflage, 2011
- Ingo Wegener: Theoretische Informatik - Eine algorithmenorientierte Einführung, 2. Auflage, Teubner, 1999
- Michael Sipser, Introduction to the Theory of Computation, 2nd ed., Thomson Course Technology, 2006
- Wegener, Kompendium theoretische Informatik - Eine Ideensammlung, Teubner 1996
- models of computation
-
19301202
Practice seminar
Practice seminar for Foundations of Theoretical Computer Science (Günther Rothe)
Schedule: Mo 12:00-14:00, Di 16:00-18:00, Mi 08:00-10:00, Mi 14:00-16:00, Mi 16:00-18:00, Do 08:00-10:00, Do 16:00-18:00, Fr 08:00-10:00, zusätzliche Termine siehe LV-Details (Class starts on: 2025-10-13)
Location: , A7/SR 031, A7/SR 140 Seminarraum (Hinterhaus), T9/046 Seminarraum, T9/049 Seminarraum, T9/051 Seminarraum, T9/053 Seminarraum, T9/SR 006 Seminarraum
-
19301201
Lecture
-
Logic and Discrete Mathematics
0086cA5.1-
19300901
Lecture
Discrete Structures for Computer Science (Max Willert)
Schedule: Di 14:00-16:00, Do 14:00-16:00 (Class starts on: 2025-10-14)
Location: , Gr. Hörsaal (Raum B.001)
Comments
Qualifikationsziele
Die Studierenden formulieren3 Aussagen formal aussagenlogisch und prädikatenlogisch. Sie analysieren4 und vereinfachen3 die logische Struktur gegebener Aussagen und beschreiben4 die logische Struktur von Beweisen. Sie benennen Eigenschaften unterschiedlicher Mengen, Relationen und Funktionen und begründen4 diese mit Hilfe formaler Argumente. Sie können Beweise für elementare Aussagen unter Verwendung elementarer Beweistechniken entwickeln5 und die Mächtigkeit von Mengen mit Hilfe kombinatorischer Techniken sowie Wahrscheinlichkeiten von Zufallsereignissen bestimmen3. Sie sind in der Lage, Fragestellungen der (Bio-)Informatik mit Hilfe der Graphentheorie und der diskreten Wahrscheinlichkeitstheorie zu modellieren.3. Die Studierenden benennen Eigenschaften unterschiedlicher Graphen und begründen4 diese mit Hilfe formaler Argumente.
Inhalte
Studierende erlernen grundlegende Konzepte der Mengenlehre, Logik, Booleschen Algebra, Kombinatorik und Graphentheorie und üben deren Anwendung. Sie erarbeiten sich in der Mengenlehre Mengen, Relationen, Äquivalenz- und Ordnungsrelationen und Funktionen. Im Bereich der Logik und Booleschen Algebra erarbeiten sie sich Aspekte der Aussagenlogik, Prädikatenlogik, Erfüllbarkeitstests, sowie Boolesche Funktionen und Normalformen. Im Themenfeld Kombinatorik erlernen und diskutieren sie das Schubfachprinzip, Rekursion, Abzählprinzipien, Fakultät und Binomialkoeffizienten. Im Themenfeld Graphentheorie erarbeiten sie Repräsentationsformen, Wege, Kreise und Bäume. Zuletzt erarbeiten sie sich verschiedene Beweistechniken und grundlegende Aspekte Diskreter Wahrscheinlichkeitstheorie. Die meisten dieser Konzepte werden an Rechen- oder Beweisaufgaben geübt.
-
19300902
Practice seminar
Practice seminar for Discrete Structures for CS (Max Willert)
Schedule: Mo 08:00-10:00, Mo 10:00-12:00, Mo 16:00-18:00, Di 08:00-10:00, Di 10:00-12:00, Di 12:00-14:00, Di 16:00-18:00, Mi 08:00-10:00 (Class starts on: 2025-10-13)
Location: T9/053 Seminarraum (Takustr. 9)
-
19300901
Lecture
-
Analysis for Computer Scientists
0086cA5.3-
19301101
Lecture
Analysis for Computer Science and Bioinformatics (Katinka Wolter, Klaus Kriegel)
Schedule: Di 14:00-16:00, Fr 10:00-12:00 (Class starts on: 2025-10-14)
Location: T9/Gr. Hörsaal (Takustr. 9)
Additional information / Pre-requisites
The sign-up for the tutorial sessions will be announced in due time.
Comments
Contents:
- number systems: from natural numbers to real numbers, completeness property of the reals
- polynomials: roots of polynomials, polynomial interpolation, rational functions
- special functions: exponential function, logarithm, trigonometric functions
- complex numbers: exponential function for complex numbers, complex roots
- convergence of sequences and series, convergence of functions, continuous functions, O-notation
- differential calculus: derivative of a function, interpretations and applications of the derivative
- intergral calculus: primitive functions, definite integrals, fundamental theorem of calculus, applications
- power series
- basics of stochastics: probability spaces, discrete and continuous random variables, expected value and variance of random variables
Suggested reading
- Kurt Meyberg, Peter Vachenauer: Höhere Mathematik 1, Springer-Verlag, 6. Auflage 2001
- Dirk Hachenberger: Mathematik für Informatiker, Pearson 2005
- Peter Hartmann: Mathematik für Informatiker, Vieweg, 4. Auflage 2006
- Thomas Westermann: Mathematik für Ingenieure mit Maple 1, Springer-Verlag, 4. Auflage 2005
-
19301102
Practice seminar
Practice seminar for Analysis for Computer Science (Katinka Wolter)
Schedule: Mo 12:00-14:00, Mo 16:00-18:00, Di 16:00-18:00, Mi 12:00-14:00, Mi 16:00-18:00, Do 10:00-12:00, Fr 14:00-16:00 (Class starts on: 2025-10-13)
Location: T9/046 Seminarraum (Takustr. 9)
-
19301101
Lecture
-
Academic Work in Computer Science
0086cA6.1-
19319701
Lecture
Scientific Work/Research in Computer Science (Claudia Müller-Birn)
Schedule: Di 16:00-18:00 (Class starts on: 2025-10-14)
Location: T9/Gr. Hörsaal (Takustr. 9)
Comments
The lecture introduces students to scientific work. The essential forms of written and oral knowledge representation are described. It explains how to write computer science texts and how to read and examine them. Furthermore, students will be introduced to legal, ethical and philosophical problems of the sciences and in particular of computer science. Furthermore, problems of gender and diversity in computer science and in lectures will be presented and solution strategies will be discussed.
-
19301710
Proseminar
Undergraduate Seminar: Theoretical Computer Science (Katharina Klost, Kristin Knorr)
Schedule: Di 10:00-12:00 (Class starts on: 2025-10-14)
Location: T9/K40 Multimediaraum (Takustr. 9)
Comments
Contents
The proseminar delves more deeply into topics covered in the basic classes taught by the theory group. During the winter semester, we consider advanced topics from the theory of computability and of formal languates (in continuation of "Theory of Computation"); during the summer semester, we talk about algorithms (in continuation of "Algorithms, Data Structures, and Data Abstraction").
Prerequisites
two semesters of computer science, successful completion of "Theory of Computation"
Suggested reading
wird mit der Ankündigung bekannt gegeben
-
19319701
Lecture
-
Academic Work in Applied Computer Science
0086cB1.4-
19303811
Seminar
Project seminar: Computer science and archaeology (Agnès Voisard)
Schedule: Do 12:00-14:00 (Class starts on: 2025-10-16)
Location: T9/046 Seminarraum (Takustr. 9)
Additional information / Pre-requisites
Requirement
ALP I-III, Foundations of Datenbase Systems, good programming knowledge.
Comments
Research Seminar: Computer Science and Archaeology
Course Description
This research seminar brings together students of Informatics and Ancient Studies to explore the application of computational methods to archaeological questions. The research seminar will be a hands-on approach to digital cultural heritage methods, such as spatial analysis, 3D reconstruction, data mining and the digital processing of archaeological artefacts. Examples of datasets will include, but not be limited to, pottery, stone tools, inscriptions, clay tablets, and landscapes.
A central goal of the seminar is to encourage interdisciplinary collaboration, with students working in pairs — ideally combining a Computer Science student with an Ancient Studies student. Each team will develop and carry out a small research project that combines technical tools with archaeological data, methods, or research questions.
Topics include, but not limited to:
– 3D analysis of archaeological artifacts and architecture
– Geographic Information Systems (GIS) and spatial data analysis
- Machine learning and computer vision for artifact classification
– Usage of databases and digital documentation of excavation data
– OCR/HTR for script in 3D like inscriptions or clay tabletsStudents from Informatics will gain experience applying computational techniques in a humanities context, while students from Ancient Studies will be introduced to digital tools and approaches that support archaeological research.
No prior coding experience is required for Ancient Studies students, and no background in archaeology is assumed for Computer Science students.
The seminar is jointly supervised by the Institute of Computer Science and the Archaeoinformatics group of the Institute of Computational Ancient Studies (CompAS) at Freie Universität Berlin, ensuring balanced guidance across disciplines.
Learning Objectives
– Understand interdisciplinary challenges and opportunities in digital archaeology
– Learn to apply and assess computational tools for cultural heritage data
– Develop and present a collaborative, project-based research outcome
– Gain insights into current digital humanities and digital archaeology practices
Suggested reading
Literature and Data Sources:
Open Access if not stated otherwise:
– ACM Journal on Computing and Cultural Heritage
https://dl.acm.org/journal/jocch
– De Gruyter Brill on Open Archaeology (OPAR)
https://www.degruyterbrill.com/journal/key/opar/html
– Elsevir Journal of Archaeological Science (JAS)
https://www.sciencedirect.com/journal/journal-of-archaeological-science– Journal of Computer Applications in Archaeology (JCAA)
https://journal.caa-international.org/
– Journal of Open Archaeological Data (JOAD)
https://openarchaeologydata.metajnl.com/
– Journal of Open Humanities Data (JOHD)
https://openhumanitiesdata.metajnl.com/
Survey articles and Books:
– Advances in digital pottery analysis
https://doi.org/10.1515/itit-2022-0006
– Digital Assyriology—Advances in Visual Cuneiform Analysis
https://doi.org/10.1145/3491239
– Machine Learning for Ancient Languages: A Surveyhttps://doi.org/10.1162/coli_a_00481
– Airborne laser scanning raster data visualization. A Guide to Good Practice
https://doi.org/10.3986/9789612549848
– Digital Humanities, Eine Einführung (German, no Open Acces)
https://link.springer.com/book/9783476047687
– New Technologies for Archaeology, Multidisciplinary Investigations in Palpa and Nasca, Peru (no Open Acces) https://doi.org/10.1007/978-3-540-87438-6
– Digging in documents: using text mining to access the hidden knowledge in Dutch archaeological excavation reports https://hdl.handle.net/1887/3274287
Databases (related to research partners):– Heidelberg Objekt- und Multimediadatenbank (HeidICON)
https://heidicon.ub.uni-heidelberg.de
– Kooperative Erschließung und Nutzung der Objektdaten von Münzsammlungen
https://www.kenom.de/
– Art Institute of Chicago (API)
https://api.artic.edu/docs/
– FactGrid, a database for historical research
https://database.factgrid.de/wiki/Main_Page
– Research infrastructures of the German Archaeological Institute (DAI), multiple DBs:
https://idai.world
– Heidelberg Accession Index (HAI): Zugangsbücher und Bestandsverzeichnisse deutscher Sammlungen und Museen https://digi.ub.uni-heidelberg.de/de/hai/index.html– Bilddatenbank des Kunsthistorische Instituts (GeschKult, FU)
https://www.geschkult.fu-berlin.de/e/khi/ressourcen/diathek/digitale_diathek/index.html
– Epigraphic Database Heidelberg
https://edh.ub.uni-heidelberg.de/– Ubi Erat Lupa – Bilddatenbank zu antiken Steindenkmälern
https://lupa.at/
– Hethitologie-Portal Mainz
https://hethport.uni-wuerzburg.de
– Altägyptische Kursivschriften und Digitale Paläographie (AKU-PAL)
https://aku-pal.uni-mainz.de/graphemes
– Text Database and Dictionary of Classic Mayan (German and Spanish)
https://www.classicmayan.org -
19305811
Seminar
Seminar: Contributions to Software Engineering (Lutz Prechelt)
Schedule: Do 16:00-18:00 (Class starts on: 2025-10-23)
Location: T9/049 Seminarraum (Takustr. 9)
Additional information / Pre-requisites
Target group
Students of Computer Science (also Minor).
In case you are interested, please contact an adecuate group member with a topic suggestion or request.
As this lecture is offered continuously, attendance may also start any time during the semester.
Requirements
Any computer science student having attended the lecture Software Engineering (Softwaretechnik).
It may become necessary to deal with materials from the lecture Empirical Evaluation in Informatics (Empirische Bewertung in der Informatik).
Homepage
http://www.inf.fu-berlin.de/w/SE/SeminarBeitraegeZumSE
Comments
Content
This is a reseach seminar: normally the presentations are supposed to advance current research projects. Thus, there are, generally speaking, three possible types of topics:
- published or current research projects from one of the areas in which our software engineering group works
- especially good specific research projects (or other knowledge) from other areas of software engineering or adjacent areas of computer science
- basis topics from important areas of software engineering or adjacent disciplines such as psychology, sociology, pedagogics, economics as well as their methods.
There is no exact restriction of topics though; almost anything is possible.
Suggested reading
Je nach Wahl des Vortragsthemas
-
19320811
Seminar
Seminar: PQC - Selected Subjects of IT Security (Marian Margraf)
Schedule: Di 14:00-16:00 (Class starts on: 2025-10-14)
Location: T9/SR 006 Seminarraum (Takustr. 9)
Comments
Selected subjects of IT security
In summer 2018 the seminar will deal with quantum computer resistant cryptanalytics. In particular we will discuss selected chapters from "Post-Quantum Cryptography" by Daniel J. Bernstein, Johannes Buchmann and Erik Dahmen (Eds). Contents of the seminar are:
- Abilities of quantum computers
- Quantum algorithms
- Cryptographic hash systems
- Grid-based cryptography
- Multivariate cryptography
- Code-based cryptography
- Cryptoanalysis of quantum computer resistant procedures
Knowledge in the areas of IT security and cryptography is obligatory.
Suggested reading
Daniel J. Bernstein, Johannes Buchmann, Erik Dahmen (Eds.): Post-Quantum Cryptography.
-
19328217
Seminar / Undergraduate Course
Seminar/Proseminar: New Trends in Information Systems (Agnès Voisard)
Schedule: Mi 10:00-12:00 (Class starts on: 2025-10-15)
Location: T9/053 Seminarraum (Takustr. 9)
Comments
This seminar aims at studying recent trends in data management. Among others, we will look at two emerging topics, namely Location-Based Services (LBS) and Event-Based Services (EBS).
Event-based Systems (EBS) are part of many current applications such as business activity monitoring, stock tickers, facility management, data streaming, or security. In the past years, the topic has gained increasing attention from both the industrial and the academic community. Current research concentrates of diverse aspects that range from event capture (incoming data) to response triggering. This seminar aims at studying some of the current trends in Event-based Systems with a strong focus on models and design. Location-based services are now often part of every day's life through applications such as navigation assistants in the public or private transportation domain. The underlying technology deals with many different aspects, such as location detection, information retrieval, or privacy. More recently, aspects such as user context and preferences were considered in order to send users more personalized information.
A solid background in databases is required, typically a database course at a bachelor level.
Suggested reading
Wird bekannt gegeben.
-
19334617
Seminar / Undergraduate Course
Seminar/Proseminar: Multi-Agent Reinforcement Learning (Tim Landgraf)
Schedule: Mi 10:00-12:00 (Class starts on: 2025-10-15)
Location: T9/049 Seminarraum (Takustr. 9)
-
19335011
Seminar
Seminar: Networks, dynamic models and ML for data integration in the life sciences (Katharina Baum, Pascal Iversen)
Schedule: Di 14:00-16:00 (Class starts on: 2025-09-30)
Location: T9/K40 Multimediaraum (Takustr. 9)
Comments
Research seminar of the group Data Integration in the Life Sciences (DILiS). Also open for seminar participation in the Master's program, online participation possible. Please refer to the current schedule on the whiteboard!
The seminar offers space for the discussion of advanced and integrative data analysis techniques, in particular presentations and discussion of ongoing or planned research projects, news from conferences, review and discussion of current literature and discussion of possible future teaching formats and content, and presentations, as well as final presentations on theses or project seminars. The seminar language is mostly English. Interested students are welcome to attend and drop in without obligation or present a topic of their own choice of interest to the working group as in a usual seminar. Please note: Individual dates may be canceled or postponed. Please contact me in case of questions (katharina.baum@fu-berlin.de)!
-
19303811
Seminar
-
Academic Work in Theoretical Computer Science
0086cB1.5-
19320811
Seminar
Seminar: PQC - Selected Subjects of IT Security (Marian Margraf)
Schedule: Di 14:00-16:00 (Class starts on: 2025-10-14)
Location: T9/SR 006 Seminarraum (Takustr. 9)
Comments
Selected subjects of IT security
In summer 2018 the seminar will deal with quantum computer resistant cryptanalytics. In particular we will discuss selected chapters from "Post-Quantum Cryptography" by Daniel J. Bernstein, Johannes Buchmann and Erik Dahmen (Eds). Contents of the seminar are:
- Abilities of quantum computers
- Quantum algorithms
- Cryptographic hash systems
- Grid-based cryptography
- Multivariate cryptography
- Code-based cryptography
- Cryptoanalysis of quantum computer resistant procedures
Knowledge in the areas of IT security and cryptography is obligatory.
Suggested reading
Daniel J. Bernstein, Johannes Buchmann, Erik Dahmen (Eds.): Post-Quantum Cryptography.
-
19335011
Seminar
Seminar: Networks, dynamic models and ML for data integration in the life sciences (Katharina Baum, Pascal Iversen)
Schedule: Di 14:00-16:00 (Class starts on: 2025-09-30)
Location: T9/K40 Multimediaraum (Takustr. 9)
Comments
Research seminar of the group Data Integration in the Life Sciences (DILiS). Also open for seminar participation in the Master's program, online participation possible. Please refer to the current schedule on the whiteboard!
The seminar offers space for the discussion of advanced and integrative data analysis techniques, in particular presentations and discussion of ongoing or planned research projects, news from conferences, review and discussion of current literature and discussion of possible future teaching formats and content, and presentations, as well as final presentations on theses or project seminars. The seminar language is mostly English. Interested students are welcome to attend and drop in without obligation or present a topic of their own choice of interest to the working group as in a usual seminar. Please note: Individual dates may be canceled or postponed. Please contact me in case of questions (katharina.baum@fu-berlin.de)!
-
19320811
Seminar
-
Academic Work in Computer Systems
0086cB1.6-
19310817
Seminar / Undergraduate Course
Seminar/Proseminar: Internet of Things & Security (Computer Systems & Telematics) (Emmanuel Baccelli)
Schedule: Mi 10:00-12:00 (Class starts on: 2025-10-15)
Location: T9/K40 Multimediaraum (Takustr. 9)
Comments
Seminar Technische Informatik on Internet of Things & Security
NOTE WELL: This seminar is research-oriented, in english, and primarily aimed at Masters students. You will learn how to survey and present academic work in written and oral form. Down the line, it may prepare you for a thesis on the topic you survey during the seminar.
WARNING: This seminar is demanding. The schedule is tight, and you will have to put substantial work into surveying related work (breadth coverage), studying a specific technique (depth coverage) and structuring the written and oral presentation of your survey (tending towards an acceptable academic research level).
SYNOPSIS: In large part, the deep edge (aka the Internet of Things, or IoT) consists of distributed systems including low-end devices with very small memory capacity (a few kBytes) and limited energy consumption (1000 times less than a RaspberryPi). Deep edge capabilities promise a new world of applications, but also bring up specific challenges in terms of programmability, energy efficiency, networking and security. After an introductory session at the start of the term, MSc students will pick a topic related to current technologies in the field of low-power deep edge computing, Internet of Things and security, and write a report (IEEE LaTeX template, approx. 12 pages including figures and references, A4, double column, 1.5 spacing, 11-point font) discussing corresponding questions. At the end of the term, the participants present their results in the form of a short talk (15 minutes + 5 minutes Q&A) in a meeting, which will also include cross-reviewing of student's presentations. During the term, there will be deadlines for status reports, but no weekly meetings of the complete seminar group.Attendance is mandatory only for the introductory session, a mid-term presentation, and the final presentation at the end of the term.
SCHEDULE
Mid-October: introductory session (presence mandatory)
After 1 week: topic selection
After 4 weeks: preliminary presentation & deadline to submit tentative outline for the report
After 8 weeks: deadline to submit alpha version of the report
After 10 weeks: deadline to submit beta version of the report & assignment for cross-reviewing of reports
End of semester: deadline to submit final version of the report & presentation session (including Q&A and oral cross-review).Suggested reading
The typical bibliography and online resources that will be in scope to survey for this seminar includes:
- reviewing academic publications, e.g. papers from IEEE, ACM conferences/journals (available onscholar.google.com);
- reviewing network protocol open standard specifications, e.g. IETF drafts and Request For Comments (RFC);
- reviewing open source implementations (e.g. available on GitHub). -
19329617
Seminar / Undergraduate Course
Seminar/Proseminar: Telematics (Jochen Schiller)
Schedule: Termine siehe LV-Details (Class starts on: 2026-02-09)
Location: T9/049 Seminarraum (Takustr. 9)
Comments
This seminar focuses on several aspects of technical Computer Science. At the start of the seminar you will receive a list of suggested topics. You are also very welcome to suggest your own research topic that is closely related to technical Computer Science. You can work on your topic exclusively or in a small group of 2-3 students. But then, it has to be apparent who contributed what part to the seminar paper.
-
19310817
Seminar / Undergraduate Course
-
Pattern Recognition
0089cA1.12-
19304201
Lecture
Machine Learning (Tim Landgraf)
Schedule: Mi 12:00-14:00, Do 14:00-16:00, zusätzliche Termine siehe LV-Details (Class starts on: 2025-10-15)
Location: T9/Gr. Hörsaal (Takustr. 9)
Additional information / Pre-requisites
Prerequisites: Basic knowledge in Mathematics and Algorithms and Data structures.
Comments
Contents: Bayesian methods of pattern recognition, clustering, expectation maximization, neuronal networks and learning algorithms, associate networks, recurrent networks. Computer-vision with neuronal networks, applications in Robotics.
Suggested reading
wird noch bekannt gegeben
-
19304202
Practice seminar
Practice seminar for Pattern recognition / Machine Learning (Manuel Heurich)
Schedule: Mo 14:00-16:00 (Class starts on: 2025-10-20)
Location: T9/SR 005 Übungsraum (Takustr. 9)
-
19304201
Lecture
-
Software Processes
0089cA1.18-
19306101
Lecture
Software Processes (Lutz Prechelt)
Schedule: Mo 14:00-16:00 (Class starts on: 2025-10-13)
Location: T9/049 Seminarraum (Takustr. 9)
Additional information / Pre-requisites
The course language is German, but the actual slides and practice sheets are in English.
The exam will be formulated in German, but answers may be given in English, too.
Comments
This course teaches the content of various software development process models, but in particular the power of judgment for deciding which elements of a process may be appropriate or not appropriate and why.
We discriminate the "classical view" of software engineering (which originates from positivist thinking and the engineering ideals of industrial production) on the one hand and the "modern view" (which originates in humanist thinking and humbler expectations about what engineering should expect to achieve) on the other. We use this discrimination as a litmus test for tracking down cultural undercurrents in software processes that damage a process when and where they are inappropriate for the given task and team.
For details see the website:https://www.inf.fu-berlin.de/w/SE/VorlesungSoftwareprozesse2025
Suggested reading
See the slides
-
19306102
Practice seminar
Practice seminar for Software Processes (Lutz Prechelt, Linus Ververs)
Schedule: Di 14:00-16:00, zusätzliche Termine siehe LV-Details (Class starts on: 2025-10-14)
Location: T9/049 Seminarraum (Takustr. 9)
Comments
Siehe Vorlesung
-
19306101
Lecture
-
Software Project: Applied Computer Science A
0089cA1.23-
19309212
Project Seminar
SWP: Smart Home Demo Lab (Jochen Schiller, Marius Max Wawerek)
Schedule: Mi 10:00-12:00 (Class starts on: 2025-10-15)
Location: T9/K63 Hardwarepraktikum (Takustr. 9)
Additional information / Pre-requisites
In this course you will be expected to write code. The outcome of your software project should be a concrete contribution to the RIOT code base, and take the shape of one or more pull request(s) to the RIOT github (https://github.com/RIOT-OS/RIOT). Before you start coding, refer to the starting guide
https://github.com/RIOT-OS/RIOT/wiki#wiki-start-the-riot
Comments
Softwareproject Smart Home Demo Lab
In this course, students will work on topics related to the Smart Home Demo Lab of the Computer Systems & Telematics working group.
The topics include:
- Creation of a Smart Home ecosystem
- Machine Learning (ML) based analysis of Smart Home datasets
- Experiments with and Improvements of existing ML models
- Design of Smart Home Usage scenarios
- Development of your own (virtual) IoT device
Participants will work in smaller groups (3-5 students), where each group will focus on a specific topic.
Regarding Organization: The software project will take course throughout the whole lecture period. First a kick off meeting with all participants will be held. There all the different topics will be presented. Afterwards each student will hand in a list of topic priorities.
The actual work on the topics will occur in multiple two week sprints. Finally at the end of the lecture period one overall final presentation will be held showing the results of all topics.
Depending on the needs of the students the software project can be held in either German or English.
Suggested reading
- A. S. Tanenbaum, Modern Operating Systems, 3rd ed. Upper Saddle River, NJ, USA: Prentice Hall Press, 2007.
- Shelby, Zach, and Carsten Bormann. 6LoWPAN: The wireless embedded Internet. Vol. 43. Wiley. com, 2011.
- A. Dunkels, B. Gronvall, and T. Voigt, "Contiki - a lightweight and flexible operating system for tiny networked sensors." in LCN. IEEE Computer Society, 2004, pp. 455-462.
- P. Levis, S. Madden, J. Polastre, R. Szewczyk, K. Whitehouse, A. Woo, D. Gay, J. Hill, M. Welsh, E. Brewer, and D. Culler, "TinyOS: An Operating System for Sensor Networks," in Ambient Intelligence, W. Weber, J. M. Rabaey, and E. Aarts, Eds. Berlin/Heidelberg: Springer-Verlag, 2005, ch. 7, pp. 115-148.
- Oliver Hahm, Emmanuel Baccelli, Mesut Günes, Matthias Wählisch, Thomas C. Schmidt, "RIOT OS: Towards an OS for the Internet of Things," in Proceedings of the 32nd IEEE International Conference on Computer Communications (INFOCOM), Poster Session, April 2013.
- M.R. Palattella, N. Accettura, X. Vilajosana, T. Watteyne, L.A. Grieco, G. Boggia and M. Dohler, "Standardized Protocol Stack For The Internet Of (Important) Things", IEEE Communications Surveys and Tutorials, December 2012.
- J. Wiegelmann, Softwareentwicklung in C für Mikroprozessoren und Mikrocontroller, Hüthig, 2009
-
19314012
Project Seminar
Software Project: Semantic Technologies (Adrian Paschke)
Schedule: Mi 14:00-16:00 (Class starts on: 2025-10-15)
Location: A3/SR 115 (Arnimallee 3-5)
Additional information / Pre-requisites
Further information can be found on the course website
Comments
Mixed groups of master and bachelor students will either implement an independent project or are part of a larger project in the area of semantic technologies. They will gain in-depth programming knowledge about applications of semantic technologies and artificial intelligence techniques in the Corporate Semantic Web. They will practice teamwork and best practices in software development of large distributed systems and Semantic Web applications. The software project can be done in collaboration with an external partner from industry or standardization. It is possible to continue the project as bachelor or master thesis.
Suggested reading
-
19329912
Project Seminar
Software Project: Secure Identity (Volker Roth)
Schedule: Mi 10:00-12:00 (Class starts on: 2025-10-15)
Location: , T9/SR 006 Seminarraum
-
19332512
Project Seminar
Software Project: Applying LLMs in Healthcare (Malte Heiser)
Schedule: Di 10:00-12:00 (Class starts on: 2025-10-14)
Location: , Virtueller Raum 35
Additional information / Pre-requisites
The seminar will take place at Königin-Luise-Straße 24/26, room 111.
Link to the software project on the HCC-Website: https://www.mi.fu-berlin.de/en/inf/groups/hcc/teaching/winter_term_2025_26/swp_applying_llms_in_healthcare.html
Comments
In this software project, students collaboratively develop an application based on a Large Language Model (LLM) for patients in the context of an emergency department. The core focus is on enabling patients to feel emotionally informed while they wait, with the goal of empower them to reflect on their symptoms independently. This real-world problem is used as a foundation to build a functional LLM-based application while fostering interdisciplinary thinking, technical creativity, and the ability to work effectively in agile teams. The project is structured around the Scrum framework and offers students the opportunity to gain practical development experience. Students apply agile principles to organize the development process iteratively and collaboratively — from requirements analysis through planning and implementation to final reflection. This allows them to strengthen their communication skills, tackle problems and tasks in a complex environment, and advance their technical competencies. Weekly sessions throughout the semester provide a space for students to shape the process and discuss their progress. We are available as advisors and mentors to support them and provide all necessary methods and competencies as needed.
Suggested reading
Literature, materials and equipment will be provided during the event.
-
19334212
Project Seminar
Software Project: Machine Learning for data from the life sciences (Pascal Iversen, Katharina Baum)
Schedule: Di 16:00-18:00 (Class starts on: 2025-10-14)
Location: T9/046 Seminarraum (Takustr. 9)
Comments
In this software project, we will work with various ML-based methods for predictions for specific questions from biology, such as predicting the effect of drugs or the development of infection numbers. The focus of the project is explicitly on the development, implementation and evaluation of the methodological framework and less on the preparation of the data.
The programming language is Python, and we plan to use modern Python modules for ML such as PyTorch or possibly JAX. Good knowledge of Python is a prerequisite. The software project takes place during the semester and can also be carried out in English.
-
19334412
Project Seminar
SWP: Future Security Lab (Marius Max Wawerek)
Schedule: Mo 10:00-12:00 (Class starts on: 2025-10-13)
Location: T9/K63 Hardwarepraktikum (Takustr. 9)
Comments
The BeLIFE project, part of the working group Telematics & Computer Systems, focuses on improving knowledge transfer and communication in civil security research. A central component of the project is the Future Security Lab, located at the Einstein Center Digital Future (ECDF) in Mitte. The lab welcomes politicians from federal and state levels, as well as representatives from authorities and organizations with security responsibilities.
Within the software project, students develop concepts to optimize and creatively enhance the existing technical infrastructure of the space. The goal is to increase the usability of the space for scientists and improve the user experience for visitors. To achieve this, the software project consists of several sub-areas, either arising from a specific problem to be solved or requiring creative approaches and ingenuity. Tasks include system administration, interface development, as well as light/sound installation and orchestration.
The tasks are exclusively addressed in small groups (3-5 students). Collaboration and code availability are facilitated through the department's own GitLab. Results should be well-documented, for example, through README files in Git and a well-structured wiki. Modularity and expandability of the developed code, along with thorough documentation, are crucial for the success of this software project!
Regarding the process, this software project takes place throughout the semester. There are a few mandatory large group meetings with all participants. In addition, there are short weekly meetings where at least one group member reports on the current status. The first date will take place at Takustraße 9. At this event, the solutions already implemented will be presented in theory and the problems addressed. A live demo will then take place one week later in Berlin Mitte at the Future Security Lab, Wilhelmstr. 67, 10117 Berlin.
Afterwards, there are a total of three presentation dates: the presentation of an initial approach to problem-solving, a brief interim presentation, and the final presentation.
Students also regularly have the opportunity to work in the Future Security Lab premises, familiarize themselves with the equipment, and conduct tests.
-
19309212
Project Seminar
-
Current research topics in Applied Computer Science
0089cA1.27-
19320701
Lecture
Secure Software Engineering (Jörn Eichler)
Schedule: Fr 10:00-12:00 (Class starts on: 2025-10-17)
Location: T9/SR 005 Übungsraum (Takustr. 9)
Additional information / Pre-requisites
The goal of this lecture is to teach principles, methods and tools for the development of secure software applications. To this end, basic concepts are first introduced. This is followed by process models for developing secure software and evaluating the maturity of development processes. Along the phases or process groups of software development, central principles, methods and tools are then introduced and explained. Special attention is given to threat and risk analysis, security requirements, principles and patterns for designing secure software applications, secure and insecure software implementations, security tests and evaluation of the security properties of software applications.
Comments
Secure software engineering joins two important fields: Software engineering and information security. software engineering is the systematic use of principles, methods and tools to develop and deploy software. information security covers topics like confidentiality, integrity and availability of informations and data.
Suggested reading
- Claudia Eckert: IT-Sicherheit, 11. Auflage, De Gruyter Oldenbourg, 2023; - Ross Anderson: Security Engineering, 3. Auflage, Wiley, 2021. Weitere Literaturhinweise werden zu den einzelnen Themenblöcken bereitgestellt.
-
19327201
Lecture
Data compression (Heiko Schwarz)
Schedule: Mo 14:00-16:00 (Class starts on: 2025-10-13)
Location: T9/046 Seminarraum (Takustr. 9)
Comments
Data compression is a technology, which only enables a variety of applications in our information age. Even though the underlying technology is often hidden from the end user, we use data compression every day when we hear music, watch images and videos, or use applications on our smartphone.
In this course, the fundamental and most often used approaches for data compression are introduced. We discuss theoretical foundations as well as methods used in practice.
The first part of the course deals with lossless compression, in which the original data can be reconstructed exactly. This part includes the following topics:
- Unique decodability and prefix codes
- Entropy and entropy rate as theoretical limits of lossless compression
- Optimal codes, Huffman codes
- Arithmetic coding
- Lempel-Ziv coding
- Linear prediction
- Examples from text, image and audio compression
In the second part of the course, we consider lossy compression, by which only an approximation of the original data can be reconstructed. This type of compression enables much higher compression rates and is the dominant form of compression for audio, image and video data. The second part of the course includes the following topics:
- Scalar quantization, optimal scalar quantization
- Theoretical limits of lossy compression: Rate distortion functions
- Vector quantization
- Predictive quantization
- Transform coding
- Examples from audio, image, and video compression
Suggested reading
- Sayood, K. (2018), “Introduction to Data Compression,” Morgan Kaufmann, Cambridge, MA.
- Cover, T. M. and Thomas, J. A. (2006), “Elements of Information Theory,” John Wiley & Sons, New York.
- Gersho, A. and Gray, R. M. (1992), “Vector Quantization and Signal Compression,” Kluwer Academic Publishers, Boston, Dordrecht, London.
- Jayant, N. S. and Noll, P. (1994), “Digital Coding of Waveforms,” Prentice-Hall, Englewood Cliffs, NJ, USA.
- Wiegand, T. and Schwarz, H. (2010), “Source Coding: Part I of Fundamentals of Source and Video Coding,” Foundations and Trends in Signal Processing, vol. 4, no. 1-2.
-
19328301
Lecture
Data Visualization (Claudia Müller-Birn)
Schedule: Di 12:00-14:00 (Class starts on: 2025-10-14)
Location: T9/SR 006 Seminarraum (Takustr. 9)
Additional information / Pre-requisites
Link to the course on the HCC-Website: https://www.mi.fu-berlin.de/en/inf/groups/hcc/teaching/winter_term_2025_26/course_data_visualization.html
Comments
The current rapid technological development requires the processing of large amounts of data of various kinds to make them usable by humans. This challenge affects many areas of life today, such as research, business, and politics. In these contexts, decision-makers use data visualizations to explain information and its relationships through graphical representations of data. This course aims to familiarize students with the principles, techniques, and methods in data visualization and provide practical skills for designing and implementing data visualizations.
This course gives students a solid introduction to the fundamentals of data visualization with current insights from research and practice. By the end of the course, students will
- Be able to select and apply methods for designing visualizations based on a problem,
- know essential theoretical basics of visualization for graphical perception and cognition,
- know and be able to select visualization approaches and their advantages and disadvantages,
- be able to evaluate visualization solutions critically, and
- have acquired practical skills for implementing visualizations.
This course is intended for students interested in using data visualization in their work and students who want to develop visualization software. Basic knowledge of programming (HTML, CSS, Javascript, Python) and data analysis (e.g., R) is helpful.
In addition to participating in class discussions, students will complete several programming and data analysis assignments. In a mini-project, students work on a given problem. Finally, we expect students to document and present their assignments and mini-project in a reproducible manner.
Please note that the course will focus on how data is visually coded and presented for analysis after the data structure and its content are known. We do not cover exploratory analysis methods for discovering insights in data are not the focus of the course.
Suggested reading
Textbook
Munzner, Tamara. Visualization analysis and design. AK Peters/CRC Press, 2014.
Additional Literature
Kirk, Andy: Data visualisation: A handbook for data driven design. Sage. 2016.
Yau, Nathan: Visualize This: The FlowingData Guide to Design, Visualization, and Statistics. Wiley Publishing, Inc. 2011.
Spence, Robert: Information Visualization: Design for Interaction. Pearson. 2007.
-
19328601
Lecture
Cryptocurrencies and Blockchain (Katinka Wolter)
Schedule: Di 12:00-14:00 (Class starts on: 2025-10-14)
Location: , T9/051 Seminarraum
Comments
We will study the history, technology and applications of cryptocurrencies and blockchain.
Suggested reading
Bitcoin and Cryptocurrency Technologies: A Comprehensive Introduction, by Arvind Narayanan, Joseph Bonneau, Edward Felten, Andrew Miller, Steven Goldfeder
-
19334301
Lecture
Advanced Robotics (Daniel Göhring)
Schedule: Mi 10:00-12:00 (Class starts on: 2025-10-15)
Location: T9/046 Seminarraum (Takustr. 9)
Comments
The lecture "Advanced Robotics" complements the lecture "Introduction to Robotics" and is for students who are familiar with basic concepts of robotics and the robot operating system ROS. Algorithms will be implemented in ROS using real data from autonomous vehicles and via written examples.
The following topics will be covered (variations are possible):
- Coordinate Systems, Representations, Kinematic Chains
- Denavit Hartenberg
- Jacobian Matrix and Inverse Kinematics
- Particle Filters
- Simultaneous localization and mapping
- Splines
- Hierarchical Planning
- ARA, D*, probabilistic planners
- Reinforcement Learning
- Model Predictive Control
- Stereo Matching with SIFT-Features and Ransac
- Semi-global Matching
- Visual Odometry / Optical Flow
-
19320702
Practice seminar
Practice seminar for Secure Software Engineering (Jörn Eichler)
Schedule: Fr 12:00-14:00 (Class starts on: 2025-10-17)
Location: T9/SR 005 Übungsraum (Takustr. 9)
-
19327202
Practice seminar
Practice seminar for Data Compression (Heiko Schwarz)
Schedule: Mo 12:00-14:00 (Class starts on: 2025-10-13)
Location: T9/046 Seminarraum (Takustr. 9)
-
19328302
Practice seminar
Data Visualization (Malte Heiser)
Schedule: Do 10:00-12:00 (Class starts on: 2025-10-16)
Location: T9/053 Seminarraum (Takustr. 9)
-
19328602
Practice seminar
Practice Session on Cryptocurrencies (Justus Purat)
Schedule: Do 10:00-12:00 (Class starts on: 2025-10-16)
Location: T9/051 Seminarraum (Takustr. 9)
-
19334302
Practice seminar
Practice Seminar for Advanced Robotics (Daniel Göhring)
Schedule: Do 12:00-14:00 (Class starts on: 2025-10-16)
Location: A6/SR 025/026 Seminarraum (Arnimallee 6)
-
19320701
Lecture
-
Special Aspects of Applied Computer Science
0089cA1.28-
19320701
Lecture
Secure Software Engineering (Jörn Eichler)
Schedule: Fr 10:00-12:00 (Class starts on: 2025-10-17)
Location: T9/SR 005 Übungsraum (Takustr. 9)
Additional information / Pre-requisites
The goal of this lecture is to teach principles, methods and tools for the development of secure software applications. To this end, basic concepts are first introduced. This is followed by process models for developing secure software and evaluating the maturity of development processes. Along the phases or process groups of software development, central principles, methods and tools are then introduced and explained. Special attention is given to threat and risk analysis, security requirements, principles and patterns for designing secure software applications, secure and insecure software implementations, security tests and evaluation of the security properties of software applications.
Comments
Secure software engineering joins two important fields: Software engineering and information security. software engineering is the systematic use of principles, methods and tools to develop and deploy software. information security covers topics like confidentiality, integrity and availability of informations and data.
Suggested reading
- Claudia Eckert: IT-Sicherheit, 11. Auflage, De Gruyter Oldenbourg, 2023; - Ross Anderson: Security Engineering, 3. Auflage, Wiley, 2021. Weitere Literaturhinweise werden zu den einzelnen Themenblöcken bereitgestellt.
-
19327201
Lecture
Data compression (Heiko Schwarz)
Schedule: Mo 14:00-16:00 (Class starts on: 2025-10-13)
Location: T9/046 Seminarraum (Takustr. 9)
Comments
Data compression is a technology, which only enables a variety of applications in our information age. Even though the underlying technology is often hidden from the end user, we use data compression every day when we hear music, watch images and videos, or use applications on our smartphone.
In this course, the fundamental and most often used approaches for data compression are introduced. We discuss theoretical foundations as well as methods used in practice.
The first part of the course deals with lossless compression, in which the original data can be reconstructed exactly. This part includes the following topics:
- Unique decodability and prefix codes
- Entropy and entropy rate as theoretical limits of lossless compression
- Optimal codes, Huffman codes
- Arithmetic coding
- Lempel-Ziv coding
- Linear prediction
- Examples from text, image and audio compression
In the second part of the course, we consider lossy compression, by which only an approximation of the original data can be reconstructed. This type of compression enables much higher compression rates and is the dominant form of compression for audio, image and video data. The second part of the course includes the following topics:
- Scalar quantization, optimal scalar quantization
- Theoretical limits of lossy compression: Rate distortion functions
- Vector quantization
- Predictive quantization
- Transform coding
- Examples from audio, image, and video compression
Suggested reading
- Sayood, K. (2018), “Introduction to Data Compression,” Morgan Kaufmann, Cambridge, MA.
- Cover, T. M. and Thomas, J. A. (2006), “Elements of Information Theory,” John Wiley & Sons, New York.
- Gersho, A. and Gray, R. M. (1992), “Vector Quantization and Signal Compression,” Kluwer Academic Publishers, Boston, Dordrecht, London.
- Jayant, N. S. and Noll, P. (1994), “Digital Coding of Waveforms,” Prentice-Hall, Englewood Cliffs, NJ, USA.
- Wiegand, T. and Schwarz, H. (2010), “Source Coding: Part I of Fundamentals of Source and Video Coding,” Foundations and Trends in Signal Processing, vol. 4, no. 1-2.
-
19328301
Lecture
Data Visualization (Claudia Müller-Birn)
Schedule: Di 12:00-14:00 (Class starts on: 2025-10-14)
Location: T9/SR 006 Seminarraum (Takustr. 9)
Additional information / Pre-requisites
Link to the course on the HCC-Website: https://www.mi.fu-berlin.de/en/inf/groups/hcc/teaching/winter_term_2025_26/course_data_visualization.html
Comments
The current rapid technological development requires the processing of large amounts of data of various kinds to make them usable by humans. This challenge affects many areas of life today, such as research, business, and politics. In these contexts, decision-makers use data visualizations to explain information and its relationships through graphical representations of data. This course aims to familiarize students with the principles, techniques, and methods in data visualization and provide practical skills for designing and implementing data visualizations.
This course gives students a solid introduction to the fundamentals of data visualization with current insights from research and practice. By the end of the course, students will
- Be able to select and apply methods for designing visualizations based on a problem,
- know essential theoretical basics of visualization for graphical perception and cognition,
- know and be able to select visualization approaches and their advantages and disadvantages,
- be able to evaluate visualization solutions critically, and
- have acquired practical skills for implementing visualizations.
This course is intended for students interested in using data visualization in their work and students who want to develop visualization software. Basic knowledge of programming (HTML, CSS, Javascript, Python) and data analysis (e.g., R) is helpful.
In addition to participating in class discussions, students will complete several programming and data analysis assignments. In a mini-project, students work on a given problem. Finally, we expect students to document and present their assignments and mini-project in a reproducible manner.
Please note that the course will focus on how data is visually coded and presented for analysis after the data structure and its content are known. We do not cover exploratory analysis methods for discovering insights in data are not the focus of the course.
Suggested reading
Textbook
Munzner, Tamara. Visualization analysis and design. AK Peters/CRC Press, 2014.
Additional Literature
Kirk, Andy: Data visualisation: A handbook for data driven design. Sage. 2016.
Yau, Nathan: Visualize This: The FlowingData Guide to Design, Visualization, and Statistics. Wiley Publishing, Inc. 2011.
Spence, Robert: Information Visualization: Design for Interaction. Pearson. 2007.
-
19328601
Lecture
Cryptocurrencies and Blockchain (Katinka Wolter)
Schedule: Di 12:00-14:00 (Class starts on: 2025-10-14)
Location: , T9/051 Seminarraum
Comments
We will study the history, technology and applications of cryptocurrencies and blockchain.
Suggested reading
Bitcoin and Cryptocurrency Technologies: A Comprehensive Introduction, by Arvind Narayanan, Joseph Bonneau, Edward Felten, Andrew Miller, Steven Goldfeder
-
19334301
Lecture
Advanced Robotics (Daniel Göhring)
Schedule: Mi 10:00-12:00 (Class starts on: 2025-10-15)
Location: T9/046 Seminarraum (Takustr. 9)
Comments
The lecture "Advanced Robotics" complements the lecture "Introduction to Robotics" and is for students who are familiar with basic concepts of robotics and the robot operating system ROS. Algorithms will be implemented in ROS using real data from autonomous vehicles and via written examples.
The following topics will be covered (variations are possible):
- Coordinate Systems, Representations, Kinematic Chains
- Denavit Hartenberg
- Jacobian Matrix and Inverse Kinematics
- Particle Filters
- Simultaneous localization and mapping
- Splines
- Hierarchical Planning
- ARA, D*, probabilistic planners
- Reinforcement Learning
- Model Predictive Control
- Stereo Matching with SIFT-Features and Ransac
- Semi-global Matching
- Visual Odometry / Optical Flow
-
19320702
Practice seminar
Practice seminar for Secure Software Engineering (Jörn Eichler)
Schedule: Fr 12:00-14:00 (Class starts on: 2025-10-17)
Location: T9/SR 005 Übungsraum (Takustr. 9)
-
19327202
Practice seminar
Practice seminar for Data Compression (Heiko Schwarz)
Schedule: Mo 12:00-14:00 (Class starts on: 2025-10-13)
Location: T9/046 Seminarraum (Takustr. 9)
-
19328302
Practice seminar
Data Visualization (Malte Heiser)
Schedule: Do 10:00-12:00 (Class starts on: 2025-10-16)
Location: T9/053 Seminarraum (Takustr. 9)
-
19328602
Practice seminar
Practice Session on Cryptocurrencies (Justus Purat)
Schedule: Do 10:00-12:00 (Class starts on: 2025-10-16)
Location: T9/051 Seminarraum (Takustr. 9)
-
19334302
Practice seminar
Practice Seminar for Advanced Robotics (Daniel Göhring)
Schedule: Do 12:00-14:00 (Class starts on: 2025-10-16)
Location: A6/SR 025/026 Seminarraum (Arnimallee 6)
-
19320701
Lecture
-
Advanced Topics in Data Management
0089cA1.29-
19304801
Lecture
Geospatial Databases (Agnès Voisard)
Schedule: Di 14:00-16:00 (Class starts on: 2025-10-14)
Location: T9/046 Seminarraum (Takustr. 9)
Additional information / Pre-requisites
Zielgruppe:
Studierende im Masterstudiengang Voraussetzungen: Vorlesung: Einf. in DatenbanksystemeComments
The goal of this course is to acquire the background of spatial databases, the kernel of Geographic Systems. The major aspects that will be handled are: modeling and querying geospatial information, spatial access methods (SAMs), data representation, basic operations (mostly from computational geometry), and optimization. Insights into current applications such as location-based services (e.g., navigation systems) will also be given. Knowledge in databases is necessary. This course encompasses: formal lectures, exercises, as well as a practical project with PostGIS.
Suggested reading
Handouts are enough to understand the course.
The following book will be mostly used: P. Rigaux, M. Scholl, A. Voisard.Spatial Databases - With Application to GIS. Morgan Kaufmann, May 2001. 432 p. (copies in the main library) -
19304802
Practice seminar
Practice seminar for Geospatial Databases (Agnès Voisard)
Schedule: Do 14:00-16:00 (Class starts on: 2025-10-16)
Location: A7/SR 031 (Arnimallee 7)
-
19304801
Lecture
-
Special Aspects of Software Development
0089cA1.30-
19320701
Lecture
Secure Software Engineering (Jörn Eichler)
Schedule: Fr 10:00-12:00 (Class starts on: 2025-10-17)
Location: T9/SR 005 Übungsraum (Takustr. 9)
Additional information / Pre-requisites
The goal of this lecture is to teach principles, methods and tools for the development of secure software applications. To this end, basic concepts are first introduced. This is followed by process models for developing secure software and evaluating the maturity of development processes. Along the phases or process groups of software development, central principles, methods and tools are then introduced and explained. Special attention is given to threat and risk analysis, security requirements, principles and patterns for designing secure software applications, secure and insecure software implementations, security tests and evaluation of the security properties of software applications.
Comments
Secure software engineering joins two important fields: Software engineering and information security. software engineering is the systematic use of principles, methods and tools to develop and deploy software. information security covers topics like confidentiality, integrity and availability of informations and data.
Suggested reading
- Claudia Eckert: IT-Sicherheit, 11. Auflage, De Gruyter Oldenbourg, 2023; - Ross Anderson: Security Engineering, 3. Auflage, Wiley, 2021. Weitere Literaturhinweise werden zu den einzelnen Themenblöcken bereitgestellt.
-
19335201
Lecture
Cybersecurity and AI III (Gerhard Wunder)
Schedule: Di 12:00-14:00 (Class starts on: 2025-10-14)
Location: T9/053 Seminarraum (Takustr. 9)
-
19320702
Practice seminar
Practice seminar for Secure Software Engineering (Jörn Eichler)
Schedule: Fr 12:00-14:00 (Class starts on: 2025-10-17)
Location: T9/SR 005 Übungsraum (Takustr. 9)
-
19335202
Practice seminar
Practice seminar for Cybersecurity and AI III (Gerhard Wunder)
Schedule: Fr 12:00-14:00 (Class starts on: 2025-10-17)
Location: A7/SR 031 (Arnimallee 7)
-
19320701
Lecture
-
Advanced Algorithms
0089cA2.1-
19303501
Lecture
Advanced Algorithms (N.N.)
Schedule: Mo 10:00-12:00, Fr 10:00-12:00 (Class starts on: 2025-10-13)
Location: KöLu24-26/SR 006 Neuro/Mathe (Königin-Luise-Str. 24 / 26)
Additional information / Pre-requisites
Target audience
All Master and Bachelor students who are interested in algorithms.
Prerequisites
Basic familiarity with the design and analysis of algorithms.
Comments
The class focuses on topics such as
- general principles of algorithm design,
- network flows,
- number-theoretic algorithms (including the RSA crypto system),
- string matching,
- NP-completeness,
- approximation algorithms for hard problems,
- arithmetic algorithms and circuits, fast fourier transform.
Suggested reading
- Cormen, Leiserson, Rivest, Stein: Introduction to Algorithms, 2nd Ed. McGraw-Hill 2001
- Kleinberg, Tardos: Algorithm Design Addison-Wesley 2005.
-
19303502
Practice seminar
Practice seminar for Advanced Algorithms (N.N.)
Schedule: Mi 08:00-10:00, Mi 14:00-16:00 (Class starts on: 2025-10-15)
Location: T9/046 Seminarraum (Takustr. 9)
-
19303501
Lecture
-
Software Project: Theoretical Computer Science A
0089cA2.10-
19308312
Project Seminar
Implementation Project: Applications of Algorithms (Günther Rothe)
Schedule: Di 08:00-10:00 (Class starts on: 2025-10-14)
Location: T9/SR 006 Seminarraum (Takustr. 9)
Comments
Contents
We choose a typical application area of algorithms, usually for geometric problems, and develop software solutions for it, e.g., computer graphics (representation of objects in a computer, projections, hidden edge and surface removal, lighting, raytracing), computer vision (image processing, filtering, projections, camera calibration, stereo-vision) or pattern recognition (classification, searching).
Prerequsitions
Basic knowledge in design and anaylsis of algorithms.
Suggested reading
je nach Anwendungsgebiet
-
19308312
Project Seminar
-
Current Research Topics in Theoretical Computer Science
0089cA2.3-
19320501
Lecture
Quantenalgorithm and Cryptanalysis (Marian Margraf)
Schedule: Di 10:00-12:00 (Class starts on: 2025-10-14)
Location: A7/SR 140 Seminarraum (Hinterhaus) (Arnimallee 7)
Comments
The lecture aims at a deeper understanding of cryptographic algorithms, especially which design criteria have to be considered for the development of secure encryption algorithms. For that purpose we will get to know and evaluate different cryptanalytic methods for symmetrical and asymmetrical encryption techniques – e.g. linear and differential cryptanalysis on block ciphers, correlation attacks on stream ciphers and algorithms to solve the factorization problem and the discrete logarithm problem. Weaknesses in the implementation, e.g. to exploit side-channel attacks, will be discussed only peripherally.
-
19337401
Lecture
Post Quantum Cryptography - the NIST algorithms (N.N.)
Schedule: Mi 10:00-12:00 (Class starts on: 2025-10-15)
Location: T9/SR 005 Übungsraum (Takustr. 9)
Comments
Post Quantum Cryptography - the NIST algorithms
Course description:
This course provides an in-depth study of the post-quantum cryptographic algorithms selected and evaluated by NIST. Students will explore the foundational mathematics, security assumptions, algorithmic designs, and practical implementation issues of cryptographic systems believed to be secure against quantum adversaries. Emphasis is placed on NIST's selected algorithms: KYBER (KEM), DILITHIUM (signatures), and SPHINCS+(stateless signatures), as well as alternate schemes such as Classic McEliece, BIKE, HQC, and Falcon.Learning Objectives:
By the end of this course, students will be able to:- Describe the threat quantum computing poses to classical cryptography.
- Explain the design principles of hash-based, code-based, multivariate, and lattice-based cryptography.
- Analyze the security assumptions behind each NIST PQC algorithm family.
- Compare performance and implementation trade-offs among leading PQC schemes.
- Evaluate real-world deployment strategies and limitations for PQC.
-
19320502
Practice seminar
Practice seminar for Cryptanalysis (Marian Margraf)
Schedule: Mi 12:00-14:00 (Class starts on: 2025-10-15)
Location: T9/055 Seminarraum (Takustr. 9)
-
19337402
Practice seminar
Tutorials for Post Quantum Cryptography - the NIST algorithms (N.N.)
Schedule: Fr 08:00-10:00 (Class starts on: 2025-10-17)
Location: T9/051 Seminarraum (Takustr. 9)
-
19320501
Lecture
-
Special aspects of Theoretical Computer Science
0089cA2.7-
19320501
Lecture
Quantenalgorithm and Cryptanalysis (Marian Margraf)
Schedule: Di 10:00-12:00 (Class starts on: 2025-10-14)
Location: A7/SR 140 Seminarraum (Hinterhaus) (Arnimallee 7)
Comments
The lecture aims at a deeper understanding of cryptographic algorithms, especially which design criteria have to be considered for the development of secure encryption algorithms. For that purpose we will get to know and evaluate different cryptanalytic methods for symmetrical and asymmetrical encryption techniques – e.g. linear and differential cryptanalysis on block ciphers, correlation attacks on stream ciphers and algorithms to solve the factorization problem and the discrete logarithm problem. Weaknesses in the implementation, e.g. to exploit side-channel attacks, will be discussed only peripherally.
-
19327201
Lecture
Data compression (Heiko Schwarz)
Schedule: Mo 14:00-16:00 (Class starts on: 2025-10-13)
Location: T9/046 Seminarraum (Takustr. 9)
Comments
Data compression is a technology, which only enables a variety of applications in our information age. Even though the underlying technology is often hidden from the end user, we use data compression every day when we hear music, watch images and videos, or use applications on our smartphone.
In this course, the fundamental and most often used approaches for data compression are introduced. We discuss theoretical foundations as well as methods used in practice.
The first part of the course deals with lossless compression, in which the original data can be reconstructed exactly. This part includes the following topics:
- Unique decodability and prefix codes
- Entropy and entropy rate as theoretical limits of lossless compression
- Optimal codes, Huffman codes
- Arithmetic coding
- Lempel-Ziv coding
- Linear prediction
- Examples from text, image and audio compression
In the second part of the course, we consider lossy compression, by which only an approximation of the original data can be reconstructed. This type of compression enables much higher compression rates and is the dominant form of compression for audio, image and video data. The second part of the course includes the following topics:
- Scalar quantization, optimal scalar quantization
- Theoretical limits of lossy compression: Rate distortion functions
- Vector quantization
- Predictive quantization
- Transform coding
- Examples from audio, image, and video compression
Suggested reading
- Sayood, K. (2018), “Introduction to Data Compression,” Morgan Kaufmann, Cambridge, MA.
- Cover, T. M. and Thomas, J. A. (2006), “Elements of Information Theory,” John Wiley & Sons, New York.
- Gersho, A. and Gray, R. M. (1992), “Vector Quantization and Signal Compression,” Kluwer Academic Publishers, Boston, Dordrecht, London.
- Jayant, N. S. and Noll, P. (1994), “Digital Coding of Waveforms,” Prentice-Hall, Englewood Cliffs, NJ, USA.
- Wiegand, T. and Schwarz, H. (2010), “Source Coding: Part I of Fundamentals of Source and Video Coding,” Foundations and Trends in Signal Processing, vol. 4, no. 1-2.
-
19335201
Lecture
Cybersecurity and AI III (Gerhard Wunder)
Schedule: Di 12:00-14:00 (Class starts on: 2025-10-14)
Location: T9/053 Seminarraum (Takustr. 9)
-
19337401
Lecture
Post Quantum Cryptography - the NIST algorithms (N.N.)
Schedule: Mi 10:00-12:00 (Class starts on: 2025-10-15)
Location: T9/SR 005 Übungsraum (Takustr. 9)
Comments
Post Quantum Cryptography - the NIST algorithms
Course description:
This course provides an in-depth study of the post-quantum cryptographic algorithms selected and evaluated by NIST. Students will explore the foundational mathematics, security assumptions, algorithmic designs, and practical implementation issues of cryptographic systems believed to be secure against quantum adversaries. Emphasis is placed on NIST's selected algorithms: KYBER (KEM), DILITHIUM (signatures), and SPHINCS+(stateless signatures), as well as alternate schemes such as Classic McEliece, BIKE, HQC, and Falcon.Learning Objectives:
By the end of this course, students will be able to:- Describe the threat quantum computing poses to classical cryptography.
- Explain the design principles of hash-based, code-based, multivariate, and lattice-based cryptography.
- Analyze the security assumptions behind each NIST PQC algorithm family.
- Compare performance and implementation trade-offs among leading PQC schemes.
- Evaluate real-world deployment strategies and limitations for PQC.
-
19320502
Practice seminar
Practice seminar for Cryptanalysis (Marian Margraf)
Schedule: Mi 12:00-14:00 (Class starts on: 2025-10-15)
Location: T9/055 Seminarraum (Takustr. 9)
-
19327202
Practice seminar
Practice seminar for Data Compression (Heiko Schwarz)
Schedule: Mo 12:00-14:00 (Class starts on: 2025-10-13)
Location: T9/046 Seminarraum (Takustr. 9)
-
19335202
Practice seminar
Practice seminar for Cybersecurity and AI III (Gerhard Wunder)
Schedule: Fr 12:00-14:00 (Class starts on: 2025-10-17)
Location: A7/SR 031 (Arnimallee 7)
-
19337402
Practice seminar
Tutorials for Post Quantum Cryptography - the NIST algorithms (N.N.)
Schedule: Fr 08:00-10:00 (Class starts on: 2025-10-17)
Location: T9/051 Seminarraum (Takustr. 9)
-
19320501
Lecture
-
Cryptography and Security in Distributed Systems
0089cA2.8-
19303601
Lecture
Cryptography and Security in Distributed Systems (Volker Roth)
Schedule: Mi 14:00-16:00, Do 10:00-12:00 (Class starts on: 2025-10-15)
Location: T9/SR 006 Seminarraum (Takustr. 9)
Additional information / Pre-requisites
Requirements: Participants must have a good mathematical understanding and good knowledge of computer security and networking.
Comments
This course gives an introduction to cryptography and cryptographic key management, as well as an introduction to cryptographic protocols and their application in the field of security in distributed systems. Relevant mathematical tools will be developed accordingly. In addition, the lecture addresses the importance of implementation details in the context of IT system security.
Suggested reading
- Jonathan Katz and Yehuda Lindell, Introduction to Modern Cryptography, 2008
- Lindsay N. Childs, A Concrete Introduction to Higher Algebra. Springer Verlag, 1995.
- Johannes Buchmann, Einfuehrung in die Kryptographie. Springer Verlag, 1999.
Weitere noch zu bestimmende Literatur und Primärquellen.
-
19303602
Practice seminar
Practice seminar for Cryptography and Security in Distributed Systems (Volker Roth)
Schedule: Do 14:00-16:00 (Class starts on: 2025-10-16)
Location: , T9/049 Seminarraum
-
19303601
Lecture
-
Operating Systems
0089cA3.1-
19312101
Lecture
Systems Software (Barry Linnert)
Schedule: Di 12:00-14:00, Mi 12:00-14:00 (Class starts on: 2025-10-14)
Location: A7/SR 031 (Arnimallee 7)
Additional information / Pre-requisites
Language
The course language is German as is the oral presentation of the lecturer, but the slides and all written material is available in English. You can always ask questions in English. The practice sheets and final exam are formulated in German as well as in English.
Homepage
https://www.inf.fu-berlin.de/w/SE/VorlesungBetriebssysteme2025
Comments
Operating systems tie together the execution of applications, user experience and usability with the management of computer hardware. Starting with the tasks an operating system has to perform and the requirements it has to meet, the most important aspects of design and development of modern operating systems will be introduced:
- Structure and design of an operating system including historical summary, structures and philosophies of OS design and resources and resource management
- Threads and processes including thread management
- Scheduling including real-time scheduling
- Process interaction and inter-process communication
- Resource management including device operation, driver development, management and operation of input- and output devices
- Memory management including address spaces and virtual memory
- File system including management and operation of discs and memory hierarchy
- Distributed operating systems including distributed architectures for resource management
- Performance evaluation and modeling including overload detection and handling
Modern operating systems provide examples for different aspects and current research will be introduced. The tutorials serve to reflect the topics dealt with in the lecture and to acquire experience by developing a small operating system.
Suggested reading
- A.S. Tanenbaum: Modern Operating Systems, 2nd Ed. Prentice-Hall, 2001
- A. Silberschatz et al.: Operating Systems Concepts with Java, 6th Ed. Wiley, 2004
-
19312102
Practice seminar
Practice seminar for Systems Software (Barry Linnert)
Schedule: Do 14:00-16:00 (Class starts on: 2025-10-16)
Location: T9/046 Seminarraum (Takustr. 9)
-
19312101
Lecture
-
Current Research Topics in Computer Systems
0089cA3.10-
19328601
Lecture
Cryptocurrencies and Blockchain (Katinka Wolter)
Schedule: Di 12:00-14:00 (Class starts on: 2025-10-14)
Location: , T9/051 Seminarraum
Comments
We will study the history, technology and applications of cryptocurrencies and blockchain.
Suggested reading
Bitcoin and Cryptocurrency Technologies: A Comprehensive Introduction, by Arvind Narayanan, Joseph Bonneau, Edward Felten, Andrew Miller, Steven Goldfeder
-
19334301
Lecture
Advanced Robotics (Daniel Göhring)
Schedule: Mi 10:00-12:00 (Class starts on: 2025-10-15)
Location: T9/046 Seminarraum (Takustr. 9)
Comments
The lecture "Advanced Robotics" complements the lecture "Introduction to Robotics" and is for students who are familiar with basic concepts of robotics and the robot operating system ROS. Algorithms will be implemented in ROS using real data from autonomous vehicles and via written examples.
The following topics will be covered (variations are possible):
- Coordinate Systems, Representations, Kinematic Chains
- Denavit Hartenberg
- Jacobian Matrix and Inverse Kinematics
- Particle Filters
- Simultaneous localization and mapping
- Splines
- Hierarchical Planning
- ARA, D*, probabilistic planners
- Reinforcement Learning
- Model Predictive Control
- Stereo Matching with SIFT-Features and Ransac
- Semi-global Matching
- Visual Odometry / Optical Flow
-
19335201
Lecture
Cybersecurity and AI III (Gerhard Wunder)
Schedule: Di 12:00-14:00 (Class starts on: 2025-10-14)
Location: T9/053 Seminarraum (Takustr. 9)
-
19328602
Practice seminar
Practice Session on Cryptocurrencies (Justus Purat)
Schedule: Do 10:00-12:00 (Class starts on: 2025-10-16)
Location: T9/051 Seminarraum (Takustr. 9)
-
19334302
Practice seminar
Practice Seminar for Advanced Robotics (Daniel Göhring)
Schedule: Do 12:00-14:00 (Class starts on: 2025-10-16)
Location: A6/SR 025/026 Seminarraum (Arnimallee 6)
-
19335202
Practice seminar
Practice seminar for Cybersecurity and AI III (Gerhard Wunder)
Schedule: Fr 12:00-14:00 (Class starts on: 2025-10-17)
Location: A7/SR 031 (Arnimallee 7)
-
19328601
Lecture
-
Special Aspects of Computer Systems
0089cA3.11-
19327201
Lecture
Data compression (Heiko Schwarz)
Schedule: Mo 14:00-16:00 (Class starts on: 2025-10-13)
Location: T9/046 Seminarraum (Takustr. 9)
Comments
Data compression is a technology, which only enables a variety of applications in our information age. Even though the underlying technology is often hidden from the end user, we use data compression every day when we hear music, watch images and videos, or use applications on our smartphone.
In this course, the fundamental and most often used approaches for data compression are introduced. We discuss theoretical foundations as well as methods used in practice.
The first part of the course deals with lossless compression, in which the original data can be reconstructed exactly. This part includes the following topics:
- Unique decodability and prefix codes
- Entropy and entropy rate as theoretical limits of lossless compression
- Optimal codes, Huffman codes
- Arithmetic coding
- Lempel-Ziv coding
- Linear prediction
- Examples from text, image and audio compression
In the second part of the course, we consider lossy compression, by which only an approximation of the original data can be reconstructed. This type of compression enables much higher compression rates and is the dominant form of compression for audio, image and video data. The second part of the course includes the following topics:
- Scalar quantization, optimal scalar quantization
- Theoretical limits of lossy compression: Rate distortion functions
- Vector quantization
- Predictive quantization
- Transform coding
- Examples from audio, image, and video compression
Suggested reading
- Sayood, K. (2018), “Introduction to Data Compression,” Morgan Kaufmann, Cambridge, MA.
- Cover, T. M. and Thomas, J. A. (2006), “Elements of Information Theory,” John Wiley & Sons, New York.
- Gersho, A. and Gray, R. M. (1992), “Vector Quantization and Signal Compression,” Kluwer Academic Publishers, Boston, Dordrecht, London.
- Jayant, N. S. and Noll, P. (1994), “Digital Coding of Waveforms,” Prentice-Hall, Englewood Cliffs, NJ, USA.
- Wiegand, T. and Schwarz, H. (2010), “Source Coding: Part I of Fundamentals of Source and Video Coding,” Foundations and Trends in Signal Processing, vol. 4, no. 1-2.
-
19328601
Lecture
Cryptocurrencies and Blockchain (Katinka Wolter)
Schedule: Di 12:00-14:00 (Class starts on: 2025-10-14)
Location: , T9/051 Seminarraum
Comments
We will study the history, technology and applications of cryptocurrencies and blockchain.
Suggested reading
Bitcoin and Cryptocurrency Technologies: A Comprehensive Introduction, by Arvind Narayanan, Joseph Bonneau, Edward Felten, Andrew Miller, Steven Goldfeder
-
19334301
Lecture
Advanced Robotics (Daniel Göhring)
Schedule: Mi 10:00-12:00 (Class starts on: 2025-10-15)
Location: T9/046 Seminarraum (Takustr. 9)
Comments
The lecture "Advanced Robotics" complements the lecture "Introduction to Robotics" and is for students who are familiar with basic concepts of robotics and the robot operating system ROS. Algorithms will be implemented in ROS using real data from autonomous vehicles and via written examples.
The following topics will be covered (variations are possible):
- Coordinate Systems, Representations, Kinematic Chains
- Denavit Hartenberg
- Jacobian Matrix and Inverse Kinematics
- Particle Filters
- Simultaneous localization and mapping
- Splines
- Hierarchical Planning
- ARA, D*, probabilistic planners
- Reinforcement Learning
- Model Predictive Control
- Stereo Matching with SIFT-Features and Ransac
- Semi-global Matching
- Visual Odometry / Optical Flow
-
19335201
Lecture
Cybersecurity and AI III (Gerhard Wunder)
Schedule: Di 12:00-14:00 (Class starts on: 2025-10-14)
Location: T9/053 Seminarraum (Takustr. 9)
-
19327202
Practice seminar
Practice seminar for Data Compression (Heiko Schwarz)
Schedule: Mo 12:00-14:00 (Class starts on: 2025-10-13)
Location: T9/046 Seminarraum (Takustr. 9)
-
19328602
Practice seminar
Practice Session on Cryptocurrencies (Justus Purat)
Schedule: Do 10:00-12:00 (Class starts on: 2025-10-16)
Location: T9/051 Seminarraum (Takustr. 9)
-
19334302
Practice seminar
Practice Seminar for Advanced Robotics (Daniel Göhring)
Schedule: Do 12:00-14:00 (Class starts on: 2025-10-16)
Location: A6/SR 025/026 Seminarraum (Arnimallee 6)
-
19335202
Practice seminar
Practice seminar for Cybersecurity and AI III (Gerhard Wunder)
Schedule: Fr 12:00-14:00 (Class starts on: 2025-10-17)
Location: A7/SR 031 (Arnimallee 7)
-
19327201
Lecture
-
Microprocessor Lab
0089cA3.2-
19310030
Internship
Practical Project: Microprocessors (Larissa Groth, Marius Max Wawerek)
Schedule: Di 14:00-16:00, Mi 12:00-14:00, Fr 14:00-16:00, zusätzliche Termine siehe LV-Details (Class starts on: 2025-10-14)
Location: T9/K63 Hardwarepraktikum (Takustr. 9)
Additional information / Pre-requisites
Important information about the course:
The microprocessor practical course will be offered this semester with a joint theory session on Tuesdays, 2-4 p.m., and two independent practical exercise sessions:- Group A, Wednesdays, 12-2 p.m. Takustraße 9, Room K63
- Group B, Fridays, 4-6 p.m. Takustraße 9, Room K63
One of these practice dates must be chosen.
Comments
ATTENTION: Contrary to the schedule in the course catalog, this course does not have 3 mandatory dates, but only 2! See below for further information!
The overwhelming majority of future computer systems will be characterized by communicating, embedded systems. These are found in machine controls, household appliances, motor vehicles, airplanes, intelligent buildings, etc. and will in future be increasingly integrated into networks such as the Internet.
The internship will address the architecture of embedded systems and demonstrate the differences to traditional PC architectures (e.g., real-time capability, interaction with the environment) with practical examples. The internship is based on 16- and 32-bit microcontroller systems.
The main focus of the internship is the following:
- register structures
- memory organization
- Hardware assembler and high-language programming
- I / O system and timer programming
- Interrupt system
- Watchdog logic
- Analog interface
- Bus system connection of components
- Communication (serial, CAN bus, Ethernet, radio and USB)
- Control of models and use of different sensors
Suggested reading
- Brian W. Kernighan, Dennis M. Ritchie: The C Programming Language, Second Edition, Prentice Hall, 1988.
-
19310030
Internship
-
Telematics
0089cA3.5-
19305101
Lecture
Telematics (Jochen Schiller)
Schedule: Mo 14:00-16:00, Fr 14:00-16:00 (Class starts on: 2025-10-13)
Location: T9/051 Seminarraum (Takustr. 9)
Additional information / Pre-requisites
Requirements: Basic understanding of computer networks, e.g., TI-III
Comments
Content
Telematics = telecommunications + informatics (often also called computer networks) covers a wide spectrum of topics - from communication engineering to the WWW and advanced applications.
The lecture addresses topics such as:
- Basic background: protocols, services, models, communication standards;
- Principles of communication engineering: signals, coding, modulation, media;
- Data link layer: media access etc.;
- Local networks: IEEE-Standards, Ethernet, bridges;
- Network layer: routing and forwarding, Internet protocols (IPv4, IPv6);
- Transport layer: quality of service, flow control, congestion control, TCP;
- Internet: TCP/IP protocol suite;
- Applications: WWW, security, network management;
- New network concepts (QUIC etc.).
At the End of this course, you should...
- know how networks in general are organized
- know what the Internet could be or is
- understand how wired/wireless (see Mobile Communications) networks work
- understand why/how protocols and layers are used
- understand how e-mails, videos get to where you are
- understand how operators operate real, big networks
- understand the cooperation of web browsers with web servers
- be aware of security issues when you use the network
- be familiar with acronyms like: ALOHA, ARP, ATM, BGP, CDMA, CDN, CIDR, CSMA, DCCP, DHCP, ETSI, FDM, FDMA, FTP, HDLC, HTTP, ICMP, ICN, IEEE, IETF, IP, IMAP, ISP, ITU, ISO/OSI, LAN, LTE, MAC, MAN, MPLS, MTU, NAT, NTP, PCM, POTS, PPP, PSTN, P2P, QUIC, RARP, SCTP, SMTP, SNMP, TCP, TDM, TDMA, UDP, UMTS, VPN, WAN, ...
Literature
- A. Tanenbaum & D. Wetherall: Computer Networks (5th edition)
- J. Kurose & K. Ross: Computer Networking (6th edition)
- S. Keshav: Mathematical Foundations of Computer Networking (2012)
- W. Stallings book, W. Goralski book
- IETF drafts and RFCs
- IEEE 802 LAN/MAN standards
Prerequisites
As this is a Master Course you have to know the basics of computer networks already (e.g. from the OS&CN BSc course or any other basic networking course). That means you know what protocol stacks are, know the basic ideas behind TCP/IP, know layering principles, got a rough understanding of how the Internet works. This course will recap the basics but then proceed to the more advanced stuff.
Resources & Organization
The course comprises about 30 "lectures", 90 minutes each, following the inverted or flipped classroom principle. I.e. you will be able to access a video of the lecture before we discuss the content in class. To be able to discuss you have to watch the video BEFORE we meet! This is your main assignment - go through the video, prepare questions if something is not clear. During the meetings there will be a recap of the main ideas plus enough time to discuss each topic if necessary.
Suggested reading
- Larry Peterson, Bruce S. Davie: Computernetze - Ein modernes Lehrbuch, dpunkt Verlag, Heidelberg, 2000
- Krüger, G., Reschke, D.: Lehr- und Übungsbuch Telematik, Fachbuchverlag Leipzig, 2000
- Kurose, J. F., Ross, K. W.: Computer Networking: A Top-Down Approach Featuring the Internet, Addi-son-Wesley Publishing Company, Wokingham, England, 2001
- Siegmund, G.: Technik der Netze, 4. Auflage, Hüthig Verlag, Heidelberg, 1999
- Halsall, F.: Data Communi-cations, Computer Networks and Open Systems 4. Auflage, Addison-Wesley Publishing Company, Wokingham, England, 1996
- Tanenbaum, A. S.: Computer Networks, 3. Auflage, Prentice Hall, Inc., New Jersey, 1996
-
19305102
Practice seminar
Practice seminar for Telematics (Jochen Schiller, Marius Max Wawerek)
Schedule: Mo 16:00-18:00 (Class starts on: 2025-10-20)
Location: T9/055 Seminarraum (Takustr. 9)
-
19305101
Lecture
-
Software Project: Computer Systems A
0089cA3.6-
19309212
Project Seminar
SWP: Smart Home Demo Lab (Jochen Schiller, Marius Max Wawerek)
Schedule: Mi 10:00-12:00 (Class starts on: 2025-10-15)
Location: T9/K63 Hardwarepraktikum (Takustr. 9)
Additional information / Pre-requisites
In this course you will be expected to write code. The outcome of your software project should be a concrete contribution to the RIOT code base, and take the shape of one or more pull request(s) to the RIOT github (https://github.com/RIOT-OS/RIOT). Before you start coding, refer to the starting guide
https://github.com/RIOT-OS/RIOT/wiki#wiki-start-the-riot
Comments
Softwareproject Smart Home Demo Lab
In this course, students will work on topics related to the Smart Home Demo Lab of the Computer Systems & Telematics working group.
The topics include:
- Creation of a Smart Home ecosystem
- Machine Learning (ML) based analysis of Smart Home datasets
- Experiments with and Improvements of existing ML models
- Design of Smart Home Usage scenarios
- Development of your own (virtual) IoT device
Participants will work in smaller groups (3-5 students), where each group will focus on a specific topic.
Regarding Organization: The software project will take course throughout the whole lecture period. First a kick off meeting with all participants will be held. There all the different topics will be presented. Afterwards each student will hand in a list of topic priorities.
The actual work on the topics will occur in multiple two week sprints. Finally at the end of the lecture period one overall final presentation will be held showing the results of all topics.
Depending on the needs of the students the software project can be held in either German or English.
Suggested reading
- A. S. Tanenbaum, Modern Operating Systems, 3rd ed. Upper Saddle River, NJ, USA: Prentice Hall Press, 2007.
- Shelby, Zach, and Carsten Bormann. 6LoWPAN: The wireless embedded Internet. Vol. 43. Wiley. com, 2011.
- A. Dunkels, B. Gronvall, and T. Voigt, "Contiki - a lightweight and flexible operating system for tiny networked sensors." in LCN. IEEE Computer Society, 2004, pp. 455-462.
- P. Levis, S. Madden, J. Polastre, R. Szewczyk, K. Whitehouse, A. Woo, D. Gay, J. Hill, M. Welsh, E. Brewer, and D. Culler, "TinyOS: An Operating System for Sensor Networks," in Ambient Intelligence, W. Weber, J. M. Rabaey, and E. Aarts, Eds. Berlin/Heidelberg: Springer-Verlag, 2005, ch. 7, pp. 115-148.
- Oliver Hahm, Emmanuel Baccelli, Mesut Günes, Matthias Wählisch, Thomas C. Schmidt, "RIOT OS: Towards an OS for the Internet of Things," in Proceedings of the 32nd IEEE International Conference on Computer Communications (INFOCOM), Poster Session, April 2013.
- M.R. Palattella, N. Accettura, X. Vilajosana, T. Watteyne, L.A. Grieco, G. Boggia and M. Dohler, "Standardized Protocol Stack For The Internet Of (Important) Things", IEEE Communications Surveys and Tutorials, December 2012.
- J. Wiegelmann, Softwareentwicklung in C für Mikroprozessoren und Mikrocontroller, Hüthig, 2009
-
19315312
Project Seminar
Software Project: Distributed Systems (Justus Purat)
Schedule: Di 14:00-16:00 (Class starts on: 2025-10-14)
Location: A7/SR 031 (Arnimallee 7)
Comments
The "Software Project: Distributed Systems" contains a range of topics from the research area of the working group: Dependable Distributed Systems. Goal of the course is to completed a given project in a team through design, implementation and testing.
The software project is recognized in different modules. Please inform in advance if you are allowed to take the course in a module from your degree program.
Topics this semester include likely:
- Forest screening (in cooperation with the Geosciences Department of the Free University of Berlin)
- Development of a dashboard to represent the data collection
- Hardware revision of the transmission of sensor data from the forest via LoRa to a database
- Implementation of a distributed ledger technology based on directed acyclic graphs
- Development of an OMNeT++ simulation
- Development of a Raspberry Pi simulation
- Further development of an ad hoc network to deploy various web applications
- In particular, the completion of a demonstrator (server-side) that shows the user interface for managing the ad hoc network
- or the completion of a sample application that can be deployed in the ad hoc network
- Load modeling and forecasting of the power consumption of AI data centers
- Further information to follow
(All topics mentioned are subject to further adjustments. Further details can be found in the introduction presentation in the resources section shortly.)
Details will be discussed in the first session. The software project: distributed systems will be held in German or English, depending on the student requirements. The assignments and presentations can be submitted in either German or English.
- Forest screening (in cooperation with the Geosciences Department of the Free University of Berlin)
-
19334412
Project Seminar
SWP: Future Security Lab (Marius Max Wawerek)
Schedule: Mo 10:00-12:00 (Class starts on: 2025-10-13)
Location: T9/K63 Hardwarepraktikum (Takustr. 9)
Comments
The BeLIFE project, part of the working group Telematics & Computer Systems, focuses on improving knowledge transfer and communication in civil security research. A central component of the project is the Future Security Lab, located at the Einstein Center Digital Future (ECDF) in Mitte. The lab welcomes politicians from federal and state levels, as well as representatives from authorities and organizations with security responsibilities.
Within the software project, students develop concepts to optimize and creatively enhance the existing technical infrastructure of the space. The goal is to increase the usability of the space for scientists and improve the user experience for visitors. To achieve this, the software project consists of several sub-areas, either arising from a specific problem to be solved or requiring creative approaches and ingenuity. Tasks include system administration, interface development, as well as light/sound installation and orchestration.
The tasks are exclusively addressed in small groups (3-5 students). Collaboration and code availability are facilitated through the department's own GitLab. Results should be well-documented, for example, through README files in Git and a well-structured wiki. Modularity and expandability of the developed code, along with thorough documentation, are crucial for the success of this software project!
Regarding the process, this software project takes place throughout the semester. There are a few mandatory large group meetings with all participants. In addition, there are short weekly meetings where at least one group member reports on the current status. The first date will take place at Takustraße 9. At this event, the solutions already implemented will be presented in theory and the problems addressed. A live demo will then take place one week later in Berlin Mitte at the Future Security Lab, Wilhelmstr. 67, 10117 Berlin.
Afterwards, there are a total of three presentation dates: the presentation of an initial approach to problem-solving, a brief interim presentation, and the final presentation.
Students also regularly have the opportunity to work in the Future Security Lab premises, familiarize themselves with the equipment, and conduct tests.
-
19309212
Project Seminar
-
-
Functional Programming 0086cA1.1
-
Object-Oriented Programming for Students with Programming Skills 0086cA1.2
-
Object-Oriented Programming for Students with No Programming Skills 0086cA1.3
-
Algorithms, Data Structures, and Data Abstraction 0086cA1.4
-
Software Technology 0086cA3.3
-
Linear Algebra for Computer Scientists 0086cA5.2
-
Fundamentals of Computer Systems 0086cB1.1
-
Research Lab 0086cB1.2
-
Introduction to Computer Science Didactics 0086cB1.3
-
Image Processing 0089cA1.1
-
Medical Image Processing 0089cA1.10
-
Model-driven Software Development 0089cA1.11
-
Network-Based Information Systems 0089cA1.13
-
Computer Security 0089cA1.16
-
Semantic Business Process Management 0089cA1.17
-
Compiler Construction 0089cA1.19
-
Computer Graphics 0089cA1.2
-
Distributed Systems 0089cA1.20
-
XML Technology 0089cA1.21
-
Practices in Professional Software Development 0089cA1.22
-
Computer Vision 0089cA1.3
-
Selected Topics in Applied Computer Science 0089cA1.31
-
Database Technology 0089cA1.4
-
Empirical Evaluation in Computer Science 0089cA1.5
-
Fundamentals of Software Testing 0089cA1.7
-
Artificial Intelligence 0089cA1.9
-
Model Checking 0089cA2.2
-
Computational Geometry 0089cA2.4
-
Selected Topics in Theoretical Computer Science 0089cA2.5
-
Advanced topics in Theoretical Computer Science 0089cA2.6
-
Semantics of Programming Languages 0089cA2.9
-
Selected Topics in Technical Computer Science 0089cA3.12
-
Mobile Communications 0089cA3.3
-
Robotics 0089cA3.4
-