Hauptseminar
Verantwortlicher | Sandy Seifarth-Haupold |
Modul | DSE-14-E13, DSE-E13, INF-04-HS, INF-AQUA, INF-D-940, INF-DSE-20-E-BDSE, MINF-04-HS |
Umfang und Art |
2 SWS Übung |
Turnus | Ganzjährig |
An dieser Stelle werden Themenvorschläge für studentische Vorträge in der EZAG gesammelt.
Die EZAG dient auch als Plattform für das Hauptseminar, es gibt also insbesondere keine Sondertermine für Hauptseminarvorträge. Um als Student einen Vortrag im Rahmen des Hauptseminars zu halten, sollte man sich entweder ein Thema aus der Liste auf dieser Seite aussuchen oder selbst ein Thema vorschlagen. Danach sollte man den Betreuer des gewählten Themas bzw. mich (bei einem eigenen Thema) kontaktieren, um den weiteren Ablauf und einen Vortragstermin festzulegen.
Neben dem Hauptseminarvortrag ist eine Ausarbeitung notwendig. Der genaue Inhalt ist mit dem Betreuer nach dem Vortrag abzusprechen. Die Ausarbeitung sollte 10 Seiten nicht überschreiten und ist spätestens 4 Wochen nach dem Hauptseminarvortrag beim Betreuer abzugeben. Vortrag und Ausarbeitung sind notwendig, um einen Schein zu bekommen. Allgemeine Hinweise zum Aufbau von wissenschaftlichen Arbeiten finden sich in der Rubrik „Beleg/Diplom Aufbau“, wobei die Grundstruktur wie folgt anzupassen ist: Einleitung, Problem, Related Work (1 Seite), Kernidee, Details eines Aspektes, Bewertung, Zusammenfassung. Hinweis: Die Ausarbeitung ist als Fließtext (keine Stichpunktesammlung!) zu verfassen, der Duden bzw. die Rechtschreibprüfung wird dringend empfohlen, ebenso ist eine Seitennummerierung erwünscht.
Das Publikum von Hauptseminarvorträgen besteht aus fortgeschrittenen Studenten und Mitarbeitern. Es ist evtl. sinnvoll im Vortrag kleinere Bezüge zur BS-Vorlesung herzustellen, ansonsten sollten grundlegende Konzepte als bekannt behandelt werden und die Vortragseinleitung und -einführung kann meist kompakt ausfallen. Schwerpunkt sollte ein interessantes wissenschaftliches Thema bilden, so dass alle etwas lernen können.
Der Vortrag selbst sollte, sofern nicht anders abgesprochen, für eine Dauer von ca. 30 Minuten ausgelegt sein. Anschließend stehen üblicherweise 15 Minuten für Fragen zur Verfügung. Es empfiehlt sich den Vortrag vorher etwas zu üben, damit man die eigene Geschwindigkeit besser einschätzen kann.
Für die Anmeldung als Modul INF-AQUA in selma muss zunächst eine Anmeldung im Modul INF-AQUA, dann eine Anmeldung des Hauptseminars und anschließend eine Anmeldung zur Prüfung des Hauptseminars erfolgen.
Themenvorschläge
ROS 2 und microROS
Das Robot Operating System (ROS) ist ein Framework für die Programmierung von Robotern. Programme bestehen dabei aus einer Menge an interagierenden Komponenten, für die auch ein umfangreicher Baukasten an fertigen Komponenten bereitgestellt wird. Die aktuelle Version ROS 2 wirbt dabei mit Echtzeitfähigkeit und der damit verbundenen Einsatzmöglichkeit in sicherheitskritischen Umgebungen.
Ziel des Vortrags soll es sein, einerseits die Architektur von ROS 2 vorzustellen und dabei auf das Zusammenspiel der Komponenten und die Echtzeit-Eigenschaften einzugehen. Andererseits können auch alternative Implementierungen wie micro-ROS vergleichend besprochen werden, insbesondere deren Einsatz in eingebetteten Umgebungen wie Mikrocontrollern oder minimalen Betriebssystemen.
Quellenvorschläge:
Betreuer: Michael Roitzsch
Fortgeschrittene Aspekte von Linux
Der Linux-Kernel ist eine komplexe Codebasis, die zahlreiche spezialisierte Konstrukte umfasst. Seine Open-Source-Natur ermöglicht eine kontinuierliche Verfeinerung und Innovation. Jedoch ist es schwierig ist, mit dem ständig weiterentwickelten Code Schritt zu halten.
In diesem übergreifenden Seminarthema soll eine spezialisierte Linux-Funktion herausgegriffen, recherchiert und präsentiert werden. Einige Beispiele sind unten aufgeführt, aber auch eigene Vorschläge sind willkommen.
- Datenstrukturen, z.B. Maple-Bäume
- Speicherallokatoren (SLAB, SLOB, SLUB)
- Scheduling-Algorithmen, z.B. CFS (completely fair scheduler)
- Synchronisation, e.g. RCU (read-copy-update)
- Spezialisierte Nutzer-APIs, e.g. io_uring, eBPF
- Subsysteme, e.g. Crypto API, device mapper, work queues
Quellenvorschläge:
- The Linux Kernel Archives
- The Linux Kernel documentation
- What is RCU, Fundamentally?, Read-copy update: Using Execution History to Solve Concurrency Problems
- The Slab Allocator in the Linux kernel
- Ringing in a new asynchronous I/O API, The rapid growth of io_uring
- eBPF Documentation, BPF Internals
- The Device Mapper, dmsetup
Betreuer: Jan Bierbaum