ODYSSEE
Willkommen bei ODYSSEE, der automatischen Teameinteilung für "Praxis der Softwareentwicklung" am KIT.
Was ist ODYSSEE?
ODYSSEE ist die rechnergestützte Verwaltung der Veranstaltung Praxis der Softwareentwicklung (PSE). Es steht für:
Odyssee
Distributes
Your
Students (to)
Software
Engineering
Exercises
Wenn Sie dieses Semester an PSE teilnehmen möchten, müssen Sie sich hier registrieren. Anschließend können Sie die verfügbaren Projekte ansehen und bewerten. Außerdem können Sie sich mit Kommilitonen zu Gruppen zusammenschließen, wenn Sie ein Projekt gerne gemeinsam bearbeiten möchten.
Danach wird unter Berücksichtigung Ihrer Wünsche und weiterer Nebenbedingungen die bestmögliche Zuteilung aller Anmeldungen zu den Projekten berechnet. Sobald diese Einteilung abgeschlossen ist, wird ODYSSEE Ihnen eine E-Mail senden, die Sie über Ihr zugewiesenes Projekt informiert. Sie können diese Information auch sehen, wenn Sie sich wieder in ODYSSEE einloggen.
Weitere Informationen zu den angebotenen Projekten erhalten Sie in der Auftaktveranstaltung. Denken Sie bitte auch daran, sich im Campus-System für das PSE, d.h. die TSE- und die PSE-Prüfung, anzumelden.
Ihr PSE PSE Winter 2026/27
| Anmeldebeginn | Montag, 2. November 2026 17:30 |
| Anmeldeschluss | Dienstag, 3. November 2026 23:59 |
| Link zur offiziellen PSE-Website. Mail an die Organisatoren. | |
Projekte
Hinweis: Klicken Sie auf einen Projekttitel, um weitere Informationen anzuzeigen.
Write your own Android app KASTEL Reussner/Koziolek
Image Translation Post-editing Tool IAR Niehues
Englisch
Fair and transparent Scheduling System for Community Power Sharing for Electric Vehicles IAI Hagenmeyer
Englisch
- Programming languages: TypeScript (frontend), Python or Rust (backend)
- Developement of a Progressive Web App
- Project language: German or English
TwinTalk IAR Beyerer/IOSB
DIGITALE ZWILLINGE – EINE VIRTUELLE REPRÄSENTATION PHYSISCHER RESSOURCEN
Digitale Zwillinge spiegeln das Verhalten und die Eigenschaften physischer Ressourcen in Echtzeit wider und sind damit ein integraler Bestandteil der Umsetzung von Industrie 4.0. Sie können beispielsweise genutzt werden, um:
• Produktionslinien und -prozesse in Echtzeit zu optimieren und an individuelle Produkte anzupassen,
• Transparenz in Lieferketten zu schaffen,
• den CO₂-Fußabdruck industriell gefertigter Produkte zu berechnen.
DIE ASSET ADMINISTRATION SHELL (AAS) – EIN STANDARDISIERTES FORMAT FÜR DIGITALE ZWILLINGE
Um digitale Zwillinge effizient in der Industrie zu nutzen, müssen sie über System- und Unternehmensgrenzen hinweg austauschbar und interpretierbar sein – dies ermöglicht die AAS. Allerdings stellt das Format hohe Anforderungen an die Modellierung von und die Interaktion mit digitalen Zwillingen.
AUFGABENSTELLUNG
Entwicklung einer nutzerfreundlichen Webanwendung zur Beantwortung von Fragen zu digitalen Zwillingen. Die Anwendung kombiniert ein intuitives Frontend mit einer einfachen RAG-basierten KI-Komponente, um Fragen zur AAS-Spezifikation zu beantworten und sowohl Expert:innen als auch Nicht-Expert:innen bei der Modellierung digitaler Zwillinge zu unterstützen. Darüber hinaus sollen mithilfe von Sprachmodellen Abfragen aus natürlichsprachlichen Eingaben generiert, validiert, ausgeführt und bei Bedarf automatisch verbessert werden.
Dabei sollen unter anderem folgende Use Cases unterstützt werden:
• Vereinfachung komplexer Spezifikationen zur besseren Zugänglichkeit für Nicht-Expert:innen
• Kommunikation mit einem öffentlichen Repository über eine REST-API
ANZUWENDENDE TECHNOLOGIEN
• AAS-basierte digitale Zwillinge (Beispiele liegen vor und müssen nicht erstellt werden)
• REST-API zur Kommunikation mit der AAS mittels FA³ST Service und FA³ST Client
• React-Frontend (TypeScript) zur Visualisierung von Beziehungen
• Retrieval-Augmented Generation (RAG) zur KI-gestützten Beantwortung von Fragen
SYNIV - Synthetische Szenen für intelligente Videoauswertung IAR Beyerer/IOSB
- Interaktive Konfiguration und Simulation öffentlicher 3D-Szenen
- Vielfältige virtuelle Personen und Aktivitäten erzeugen
- Bewegungen über Prompts, Pfade und Constraints steuern
- Austauschbare KI-Modelle zur Bewegungsgenerierung integrieren
- Virtuelle Kameras frei platzieren und konfigurieren
- 2D-/3D-Skelettdaten und Aktivitätsannotationen erzeugen
- Annotierte Szenen und Videodaten exportieren
Um die Zuverlässigkeit und Robustheit eines komplexen Robotersystems sicherzustellen, ist eine systematische Erkennung und Analyse von Fehlerfällen besonders relevant. Da ArmarX ein verteiltes System mit zahlreichen interagierenden Komponenten ist, gestaltet sich die Fehleranalyse oft zeitaufwändig: Welche Komponente einen Fehler verursacht hat, ist selten direkt ersichtlich, die relevanten Logs sind über viele Prozesse verteilt, und die Übertragung eines beobachteten Fehlers in einen nachvollziehbaren Bug-Report erfolgt bislang manuell.
Das Ziel dieses PSE-Projekts ist die Entwicklung eines agentischen Analyse- und Wartungssystems für das Robotersoftware-Framework ArmarX. Im Zentrum stehen zwei Kernfunktionen: die automatisierte Fehleranalyse von Roboterausführungen durch LLM-basierte Agenten und ein einheitliches, strukturiertes Fehlerberichtsformat, das in einer grafischen Benutzeroberfläche (GUI) visualisiert und von dort in den Entwicklungsprozess zurückgespielt wird.
Kernfunktionen
- Erfassung von Systemzuständen: Protokollierung von Fehlerfällen, Systemabstürzen und Komponentenzuständen während einer Roboterausführung, inklusive des Workspace-Zustands (verwendete ArmarX-Pakete mit Commits und Branches), sodass jeder Fehler eindeutig einem Softwarestand zugeordnet werden kann.
- Strukturiertes Fehlerberichtsformat: Ein vordefiniertes Berichtsformat, das betroffene Komponenten, zeitlichen Verlauf, relevante Logauszüge, Workspace-Zustand, Ursachenhypothesen und Reproduktionsschritte umfasst. Berichte können sowohl von Benutzern als auch von Agenten erstellt werden.
- LLM-basierte Fehleranalyse: Ein Agent wertet die erfassten Logs und Systemzustände aus, fasst den Fehlerverlauf zusammen, grenzt die vermutlich verursachende Komponente ein und erzeugt daraus einen vorausgefüllten Fehlerbericht im vordefinierten Format. Die Hypothesen des Agenten werden in der GUI dargestellt und können vom Benutzer bestätigt, korrigiert oder ergänzt werden.
- Agentenschnittstelle: Eine Python-API, über die Agenten Analysen anstoßen, Logs und Systemzustände abfragen und Berichte einreichen können. Die API wird zusätzlich als Model-Context-Protocol-Server (MCP) exponiert, sodass externe KI-Agenten (z. B. Coding-Assistenten) das System direkt als Werkzeug nutzen können.
- Grafische Benutzeroberfläche: Visualisierung von Fehlerberichten (Komponentenbeteiligung, Zeitverlauf, Logs), Verwaltung erfasster Ausführungen sowie grafischer Vergleich der Workspace-Zustände zweier Ausführungen oder Berichte, um neu aufgetretene oder behobene Fehler mit konkreten Änderungen in Verbindung zu bringen.
- GitLab-Integration: Erstellung von GitLab-Issues aus Fehlerberichten, inklusive Erkennung bereits bekannter Fehler (Kommentar am bestehenden Issue statt Duplikat) und Rückverfolgung vom Issue zum zugrunde liegenden Bericht.
Erweiterungen
- Definition, Verwaltung und Ausführung von Testszenarien zur strukturierten und reproduzierbaren Überprüfung des Systemverhaltens, inklusive spontan erstellter Testfälle
- Chaos Engineering in der Simulation, um die Robustheit des Systems gegenüber zufälligen Fehlern und Verbindungsabbrüchen quantitativ zu testen
- Automatischer Start von Analyseläufen aus GitLab-Pipelines, z. B. bei Merge Requests auf den Roboter-Workspace
Um dies zu erreichen, wird das Projekt die bestehende Infrastruktur erweitern, um das Erfassen relevanter Systemzustände und Logs sowie die Anbindung an GitLab und an LLM-Dienste zu unterstützen. Die Software wird als Standalone GUI mit Agentenschnittstelle implementiert und nutzt dabei die bestehende Infrastruktur des ArmarX-Frameworks.
Das Projekt zielt darauf ab, das Analyse- und Wartungsframework zu verbessern, um:
- die Identifikation fehlerverursachender Komponenten in einem verteilten System durch KI-gestützte Analyse zu beschleunigen
- den Weg vom beobachteten Fehler zum dokumentierten, reproduzierbaren GitLab-Issue weitgehend zu automatisieren
- die Robustheit und Zuverlässigkeit von ArmarX durch nachvollziehbare Fehlerberichte und reproduzierbare Testszenarien nachhaltig zu erhöhen
Das Projekt kann auf Deutsch oder Englisch betreut werden.
Englisch
Englisch
KIT weather IMKTRO Marioth
Dieses Projekt hat das Ziel ein robustes, effizientes und nachhaltiges System zur interaktiven Webvisualisierung von Wetter- und Klimadaten zu entwickeln. Dabei werden offen verfügbare Modelldaten des Deutschen Wetterdienstes (DWD, https://opendata.dwd.de/) verarbeitet und anschaulich dargestellt.
Die Aufgaben werden unter anderem darin bestehen:
- den Datenbankzugriff über eine VM einzurichten, die sicher auf die DWD-OpenData-Datenbank zugreift und die Daten automatisiert herunterlädt,
- die Datenverarbeitung des bestehenden Codes (in Python) zu parallelisieren und zu optimieren für eine schnellere Datenverarbeitung
- der Entwurf und die Umsetzung interaktiver Visualisierungen sowie
- die Entwicklung einer intuitiven Weboberfläche, die Nutzerinteraktionen ermöglicht.
Weitere Aufgaben, um das System nachhaltig zu machen, sind:
- - Automatisierung: Datenupdate-Zyklen (z. B. täglich) sollen vollautomatisiert ablaufen, um aktuelle Daten bereitzustellen.
- - Wartbarkeit: Modularer Aufbau des Systems, um einfache Erweiterungen (z. B. neue Datenquellen, Visualisierungen) zu ermöglichen.
Meteorologische Vorkenntnisse sind nicht erforderlich, Interesse an Klima- Wetterphänomenen, zukünftige Klimaentwicklung und Klimamodellen ist wünschenswert.
Der geplante Temin für ein erstes Treffen ist der 5.11.26 zwischen 10:30 und 13:00. Die genaue Uhrzeit kann innerhalb dieses Zeitfensters flexibel vereinbart werden.
Peer Review Platform ITEC Henkel
Englisch
Internal peer review in our research group is usually managed through shared Google Sheets and emails. That quickly becomes cumbersome as the number of papers and reviewers grows, requires notifying colleagues by hand, and is tedious for authors and reviewers alike. This project aims to build an easy-to-use web platform with a clear workflow: researchers submit a paper, poster or proposal, request reviews from their peers, collect the finished reviews, and use the feedback to improve their submission. The platform will be built with Java and Spring on the backend and a modern web frontend in React or Angular, with Electron as an option for a desktop client.
Benchmarking ML and LLM Models on Mobile Devices ITEC Tahoori
Englisch
This project focuses on developing a mobile benchmarking framework to evaluate the real-world performance of machine learning (ML) and large language models (LLMs) on smartphones. While most AI models are evaluated on server-class hardware, their behavior on mobile devices is significantly constrained by limited memory, power budgets, and thermal conditions.The project aims to analyze how different models perform under on-device conditions by measuring key system-level metrics such as latency, throughput, RAM usage, energy consumption, battery impact, and thermal stability. The study will include both classical ML models and compact LLMs, along with optimized variants such as quantized models. The outcome will be a reproducible benchmarking pipeline and a comprehensive analysis of efficiency–performance tradeoffs, enabling informed decisions for deploying AI models in resource-constrained environments.
Objectives
Programming Languages
English version below:
Ziel des PSE ist es, eine Webanwendung zu entwickeln, um Forschende bei der Erstellung von Datensätzen zu unterstützen. Nutzende sollen sich interaktiv Zufallsgraphen generieren lassen können, um den Einfluss verschiedener Generierungsparameter einschätzen zu können. Außerdem soll es möglich sein, Graphen aus verschiedenen externen Datenquellen einzubinden, was den Umgang mit verschiedenen Dateiformaten voraussetzt.
Die erzeugten / geladenen Graphen sollen dann mittels existierender Software eingebettet werden, um den Knoten Positionen zuzuordnen. Diese Ergebnisse sollen in der Anwendung visualisiert werden.
Zuletzt soll es sowohl möglich sein, Graphen und Zeichnungen herunterzuladen, als auch Parameterbereiche und Generatorkonfigurationen zu exportieren, welche es ermöglichen, die Ergebnisse zu reproduzieren oder im Fall großer Datensätze die Generierung lokal durchzuführen.
Technische Übersicht:
Es soll eine Webapp entwickelt werden, welche alle Berechnungen lokal im Browser ausführt. Teile der Pipeline, für welche externe Tools existieren (z. B. Graphgenerierung und Embedding), können entweder von euch via WebAssembly eingebunden oder nach TypeScript portiert werden. Die Wahl der Frameworks / Programmiersprachen ist euch freigestellt, solange sie die Anforderungen erfüllen.
**English version:**
The goal of the PSE is to develop a web application that supports researchers in creating graph datasets. Users should be able to interactively generate various random graphs in order to assess the influence of different generation parameters. It should also be possible to import graphs from various external data sources, which requires handling different file formats.
The generated / loaded graphs should then be embedded using existing software in order to assign positions to the nodes. These results should be visualized in the application.
Finally, it should be possible both to download graphs and drawings and to export parameter ranges and generator configurations. These exports make it possible to reproduce the results or, for large datasets, to run the generation locally.
Technical overview:
The web app should perform all computations locally in the browser. Parts of the pipeline for which external tools exist (e.g. graph generation and embedding) can either be integrated by you via WebAssembly or ported to TypeScript. You are free to choose any frameworks / programming languages, as long as they meet the requirements.
Wer unterrichtet, kennt das Problem: Wie kommen textbasierte Inhalte effektiv zu den Lernenden? Und das am besten gestaffelt, um nicht zu überfordern, aber ohne ständig neue Arbeitsmaterialien verteilen zu müssen.
Hier kommt LMSync ins Spiel: ein webbasiertes Lernmanagementsystem (LMS), mit dem in Echtzeit Inhalte ergänzt, gezeigt und nachgelesen werden können. Mit diesem Tool sollen Lehrende zukünftig flexibel Inhalte ergänzen und vorbereitete Materialien dynamisch anzeigen können, sodass Lernende jederzeit darauf zugreifen können.
Das zu entwickelnde Tool wird dabei auf die Arbeit im Lehr-Lern-Labor Informatik angepasst und berücksichtigt die Anforderungen der Lehrveranstaltungen der Arbeitsgruppe für Informatik und ihre Didaktik.
Fine-Grained Reduktionen Datenbank ITI Künnemann
- React/Vite Stack für Frontend
- REST-Backend mit ExpressJS + Postgres-DB
- Docker für Deployment
Englisch
How much warmer will our planet get, and what will that mean for heatwaves, droughts and floods? Climate models are our most important tool for answering these questions. Yet they still disagree, largely because key processes such as clouds are too small to be simulated directly and are approximated by simplified, hand-tuned formulas.
Machine learning is now transforming this field: neural networks already forecast the weather as accurately as the best traditional models. Yet to project a future climate that no dataset contains, we still need the laws of physics. One of the most exciting research directions therefore combines both. The key is to make a physical model differentiable: for every result, we can compute how it would change if any part of the model changed. Such a model can be trained on data just like a neural network and learn what the hand-tuned formulas miss. Google's NeuralGCM (neural general circulation model), published in Nature in 2024, showed how powerful this idea can be.
In this project you build such a model of Earth's atmosphere yourselves, from scratch. You will watch winds, waves and swirling storms emerge from equations you turn into code, let neural networks learn inside it, and design clean, modular, thoroughly tested software, right at the frontier of climate science and artificial intelligence.
Type of system: a Python library with a command-line interface that simulates Earth's atmosphere. It is modular and differentiable, and comes with visualization and an automated test suite.
Programming language: Python.
Required frameworks and libraries: PyTorch.
Desired interests: climate, machine learning, scientific computing, clean and well-tested software, and physics. No prior knowledge of any of these is needed: we start from zero.
Karo GP ITI Sanders
In diesem PSE-Projekt implementiert ihr eine Mehrspieler-Variante des Spiels Racetrack (https://de.wikipedia.org/wiki/Racetrack).
Anforderungen und Ziele:
- Mehrspieler im LAN: Ein Rechner hostet, die anderen treten bei und spielen rundenbasiert gegeneinander.
- Bot-Gegner: Ihr implementiert eigene Bots, die mit verschiedenen Strategien (z. B. BFS, A*, Heuristiken) Routen über die Strecke finden.
- Karteneditor: Mit einem Editor lassen sich eigene Rennstrecken erstellen.
- Eigene Ideen: z. B. Streckengenerator, Nebel, Windböen oder Power-ups
Englisch
- obfuscated code
- modifications to normally untouched code
- changes committed at strange times of the day / holidays
- Issues/Pull Requests being vocally supported by newly created and otherwise empty users
Englisch
Incremental computations react to input changes rather than recomputing their result from scratch, which is known to deliver asymptotic speedups in theory and order-of-magnitude speedups in practice.
One effective way to incrementalize programs is to compose differential operators. Where a regular function transforms an input type to an output type, a differential operator transforms a description of a change to the input into a description of the change to the output.
This PSE project develops a web-based graphical interface for building incremental programs out of differential operators and observing their execution. This graphical interface enables users to select differential operators from a standard library, compose operators through expressive combinators, and inspect the execution details of a differential operator pipeline. The user will be able to see the propagation and transformation of changes at different stages of the program to better understand the execution.
Symbolisches Debugging für Java mit Refinement Types KASTEL Beckert
Kukicha (https://github.com/flo2702/property-checker) ist eine Refinement-Typchecker für Java.
Ihre Aufgabe
Schreiben Sie einen symbolischen Debugger als Plugin für einen existierenden Refinement-Typchecker für Java.
Password Management: Local First, Cloud Second KASTEL Hartenstein
Früher war Passwortverwaltung local-only: Passwortmanager haben die Daten zum Beispiel im lokalen Browser gespeichert und nicht synchronisiert, oder man speichert Passwörter im Kopf oder auf Klebezetteln.
Heute ist Passwortverwaltung typischerweise ein weiterer Cloud-only-Dienst, den man entweder mit monatlichen Abogebühren oder mit den eigenen Daten bezahlt.
Aber was passiert eigentlich mit euren Daten, wenn die Cloud nicht verfügbar ist, euch das Abo kündigt, oder Trump einfach schlecht geschlafen hat?
Warum sind euer Handy und euer Tablet, die beide vor euch auf dem Tisch in Karlsruhe liegen, zur Synchronisation von ein paar hundert Passwörtern auf USA-ansässige Cloudanbieter angewiesen?
Könnten die das nicht selbst?
Natürlich! …wenn ihr ihnen auf die Sprünge helft, und das ist genau das Ziel dieses PSE-Projekts.
Ziel:
Ergebnis dieses PSE-Projekts ist eine Webanwendung zur Passwortverwaltung. Die dahinterliegende Passwort-Datenbank soll sowohl vollständig lokal auf eurem Gerät liegen, als auch sich zwischen all euren anderen Geräten replizieren.
Eure Anwendung soll dabei die Local-First-Prinzipien ("The past, present, and future of local-first" / "Local-first software: You own your data, in spite of the cloud") umsetzen.
Die lokalen Kopien auf euren Geräten sind also keine Caches von einem zentralen Backend / Server, sondern jedes Gerät ist gleichberechtigt.
Passwörter können auch offline beliebig editiert werden, und trotzdem werden sobald das Gerät wieder online ist alle Konflikte automatisch ohne manuelles Eingreifen gelöst.
Je nach Interessenlage kann die Anwendung dann z.B. in Richtung Verschlüsselung, einem kollaborativem Passwort-Safe für die Wohngemeinschaft, oder Synchronisierung über alternative Kommukationswege (Bluetooth, Peer-to-Peer, Brieftaube, …) erweitert werden.
Vorgaben:
- Webanwendung auf Basis von React / Svelte in TypeScript, HTML, und CSS
- Datenreplikation nach Local-First-Prinzipien auf Basis von Automerge
Interessen:
- Verteilte und dezentrale Systeme
- Informationssicherheit
- Local-First
Ansprechpartner:innen
- Patrick Spiesberger, Mail: patrick.spiesberger@kit.edu / Matrix: @lo2977:kit.edu
- Florian Jacob, Mail: florian.jacob@kit.edu / Matrix: bh7953@kit.edu
- Matthias Grundmann, Mail: matthias.grundmann@kit.edu / Matrix: @lm4302:kit.edu
Town Rover KASTEL Mirandola
Englisch
Autonomous delivery robots in the city
Wo ist mein Tut?: Routenplaner im Gebäude KASTEL Müller-Quade
- gut in andere Websites einbindbar (auch automatische Auflösung von Bezeichnungen wie "CS50.34 265")
- light-weight, keine zu großen Bibliotheken verwenden und usability wichtig
- Kartendarstellung mit OSM (openstreet maps)
- Programmiersprache "frei" wählbar (Webanwendung). Falls JavaScript gewollt, dann mindestens TypeScript mit ordentlicher Typisierung.
- Darstellung der Gebäude "von innen" (Umsetzung relativ offen) inklusive Wege von Haupteingängen zu jeweiligen Räumen
- ggf. rollstuhlgerechte Wege (mit Auswahl per Checkbox) darstellen für bessere Mobilitätsmöglichkeiten für geh-eingeschränkte Menschen
- möglichst einfache Modellierung von Gebäuden durch einen Admin und Serialisierung des Modells fürs Einlesen durch Hauptanwendung
- keine großen Ansprüche an Optik und Geschwindigkeit
- Programmiersprache wie auch Bibliotheken frei wählbar
Ladesäulenplaner für E-Fahrzeuge KASTEL Schaefer
- Problem: Ladeplanung bei Reisen oder im Alltag mit E-Fahrzeugen aufwendig aufgrund heterogener Ladesäulenlandschaft (viele unterschiedliche Provider)
- Lösung: Web-basiertes Werkzeug zur Planung wann und wo geladen werden sollte, um alle angegebenen Termine einzuhalten und die Ladekosten zu minimieren
- Ansatz: Optimierung von Routen und Ladezeiten, basierend auf Zeitbedingungen und Kosten
- Tasks/ Umsetzung:
- Frontend (Web)
- HTML/CSS
- + Framework nach Wahl
- Backend-Funktionalität
- Objektorientiert
- z.B. Java, C++, Rust
- Docker-Ready Deployment
Rechnerfernsteuerung KASTEL Schaefer
- Idee:
- Rechner aus der Distanz bedienen
- Eingabegeräte (Tastatur, Maus) fernsteuern
- Anwendung:
- Medienwiedergabe steuern (Single-Tenancy)
- Controller für Spiele (Multi-Tenancy)
- Pong, Snake, Tetris
- Eigene Spielideen
- Einfacher Verbindungsaufbau
- Echtzeit-Steuerung
- Tasks:
- Frontend (App)
- Framework nach Wahl
- Backend-Funktionalität
- Objektorientiert
- z.B. Java, C++, Rust
- Docker-Ready Deployment
Framework zur Evaluation Biometrischer Anonymisierungen KASTEL Strufe
Hintergrund
Die Anonymisierung biometrischer Daten (Gesichtsbildern, Gangdaten, etc...) ist ein aktuelles Forschungsfeld mit hoher praktischer Relevanz: Einerseits sollen personenbezogene Daten geschützt und DSGVO-konform verarbeitet werden, andererseits sollen anonymisierte Daten für nachfolgende Aufgaben (z. B. Training von Machine-Learning-Modellen) möglichst nutzbar bleiben. In den vergangenen Jahren wurde eine Vielzahl von Anonymisierungstechniken vorgeschlagen, deren Evaluierung jedoch häufig auf unterschiedlichen Methoden, Datensätzen und Metriken beruht. Dadurch sind Ergebnisse einzelner Arbeiten schwer vergleichbar, und die tatsächliche Schutzwirkung von Anonymisierungen wird oft überschätzt.
Aus diesen Erkenntnissen entstand SEBA (Strong Evaluation for Biometric Anonymization, https://github.com/kit-ps/seba), ein Framework zur Bewertung von Anonymisierungstechniken für biometrische Daten. SEBA bietet eine einheitliche Schnittstelle für die Evaluierung sowohl der Privatsphäre (Privacy) als auch der Nützlichkeit (Utility) von Anonymisierungen und ermöglicht dadurch eine bessere Vergleichbarkeit verschiedener Verfahren. Mit dem Wachstum des Frameworks und der Zahl integrierter Komponenten (Recognitionsysteme, Anonymisierungsverfahren, Datensatzformate) ist jedoch eine Überarbeitung der Architektur erforderlich. Externe Quelltexte und Bibliotheken müssen robust verwaltet werden, die Reproduzierbarkeit der Ergebnisse muss sichergestellt werden, und der Funktionsumfang soll um weitere Messgrößen und Datenformate erweitert werden. An dieser Stelle soll dieses Projekt ansetzen.
Was soll das Programm können?
Ziel des Projektes ist ein Re-Design des bestehenden SEBA-Frameworks, das die Evaluierung von Anonymisierungstechniken für biometrische Daten vereinheitlicht und erleichtert. Das Framework wird als Python-Anwendung mit einer Kommandozeilen-Schnittstelle (CLI) realisiert und basiert im Wesentlichen auf den Bibliotheken PyTorch, Numpy und Matplotlib.
Zentrale Herausforderung des Re-Designs ist ein robustes Dependency-Management für externe Komponenten wie Anonymisierungsverfahren, Recognitionsysteme und externe Bibliotheken. Diese sollen in einer einheitlichen, leicht erweiterbaren Schnittstelle gekapselt werden, sodass neue Verfahren mit geringem Aufwand integriert werden können, ohne den Kern des Frameworks zu verändern. Ebenso wichtig ist die Reproduzierbarkeit und Vergleichbarkeit der Evaluationsergebnisse: Konfigurationen, Seeds und Umgebungen sollen so dokumentiert und versioniert werden, dass Ergebnisse jederzeit nachvollziehbar und vergleichbar bleiben.
Über die bestehende Bewertung von Privacy und Utility hinaus sollen Laufzeitmessungen der Anonymisierungsverfahren ergänzt werden, um auch die praktische Effizienz der Verfahren vergleichbar zu machen. Zudem soll die Unterstützung von Datensatzformaten erweitert werden, etwa um Parquet-Dateien, wobei das bestehende ältere Datensatzformat weiterhin unterstützt wird. Schließlich soll das Framework leicht zu installieren und zu verwenden sein, um den Einstieg für neue Nutzer:innen und die Nutzung in weiteren Forschungsprojekten zu erleichtern.
Anwendung
Das Ergebnis dieses Projektes soll die Grundlage für die weitere Entwicklung und Nutzung von SEBA in der Forschung zur Anonymisierung biometrischer Daten bilden. Mit dem überarbeiteten Framework lassen sich Anonymisierungstechniken systematisch, reproduzierbar und vergleichbar evaluieren, sowohl hinsichtlich ihrer Schutzwirkung als auch hinsichtlich der Nützlichkeit und Effizienz der anonymisierten Daten. Dadurch kann künftig zuverlässiger beurteilt werden, welche Verfahren einen tatsächlichen Beitrag zum Datenschutz leisten, und neue Verfahren sowie weitere Datensatzformate lassen sich mit geringem Aufwand in bestehende Evaluationen integrieren. Das Projekt soll als OpenSource (MIT Lizenz) Projekt auf Github veröffentlicht werden.
AI Digest Agent for Collaborative Workspaces SCC Streit
Englisch
The modern world runs on collaborations, and collaborative tools are highly important. The volume of information and the pace at which it appears keep growing every day, making it extremely difficult to keep track of all the updates. This PSE project suggests to develop an AI digest agent which could support two user stories (2nd is optional): We need a convenient and user-friendly agent-based solution which: Can access cloud-hosted documents (read-only) (e.g. Google drive (preferred), Nextcloud. Only one is a must-have). Can analyze a selected/predefined subset of documents. Summarizes relevant updates for a selected time period and task. Items in the summarisation result should link to their source document (so the reviewers can easily spot hallucinations) Is designed in a secure and reliable way, e.g. can’t modify or delete existing documents, no leakage of information is allowed etc An agent implemented as “chat + tools calling” is accepted as MVP for on-demand digest generation. Under the hood there will be use of: An agentic framework like pydantic.ai LLMs, various APIs Application containerization and deployment Continuous Integration pipeline based on e.g. Jenkins / github actions Code documentation, software testing Modern AAI, which is based on OIDC. Human-in-the-Loop to verify the quality of produced digests (supervisors). Supports tracing and observability during development (e.g., using MLflow) to monitor agent execution, tool calls, errors, and performance. Given the rapid progress in AI, the technology stack may evolve, and we welcome students' suggestions. We provide support on using cloud, CI/CD, as well as access to the set of open LLMs. Prerequisites: Programming in Python, basic software engineering skills Basic knowledge of LLMs and Agents.
Supervisors can provide a sample cloud workspace with representative documents. Alternatively, students may use their own PSE-relevant discussions for keeping track of updates :-)
Ziel des Projekts ist, dass Entwicklungsteams Künstliche Intelligenz (KI) nicht individuell, sondern gemeinsam nutzen können. Teammitglieder sollen gemeinsam auf KI-Werkzeuge zugreifen, Ergebnisse diskutieren und Engineering-Artefakte kollaborativ mit Unterstützung von KI erstellen und weiterentwickeln können.
Ihre Aufgabe ist die Entwicklung einer Web-Anwendung, welche die KI-gestützte Erstellung und Verfeinerung von Artefakten entlang des Software-Engineering-Prozesses ermöglicht. Dazu gehören beispielsweise Anforderungsartefakte wie Stories, Use Cases, Entwurfsartefakte wie Software-Architekturmodelle und API-Spezifikationen, aber auch die Umsetzung der Analyse- und Entwurfsartefakte in der Implementierung. Die KI soll dabei die Entwickler nicht nur bei der Erstellung von Artefakte unterstützen, sondern auch bestehende Ergebnisse analysieren, verbessern und mit den gegebenen Engineering-Richtlinien (bspw. Namenskonventionen) abgleichen.
Ein wesentlicher Bestandteil des Projekts ist eine gemeinsame Wissensbasis, die sowohl allgemeines Engineering-Wissen als auch projektspezifische Erkenntnisse enthält. Die Wissensbasis umfasst Richtlinien, Best Practices, Vorlesungsunterlagen in strukturierter Form. Die KI soll dieses Wissen nutzen, um zukünftige Engineering-Aufgaben konsistenter, nachvollziehbarer und qualitativ hochwertiger zu unterstützen.
Engineering-Entscheidungen im Projekt entstehen häufig in Diskussionen und gehen oftmals später verloren. Die Umgebung soll deshalb die Entstehung von Artefakten, verwendete Prompts sowie wichtige Entscheidungen gezielt dokumentieren. Dadurch wird nachvollziehbar, warum bestimmte Lösungen gewählt wurden und wie sich ein Artefakt im Laufe eines Projekts entwickelt hat. Gleichzeitig entsteht eine Grundlage für die Wiederverwendung von Wissen für die spätere Weiterentwicklung des Projekts.
Im Projekt werden moderne Technologien aus den Bereichen des Software Engineerings und der Künstlichen Intelligenz eingesetzt. Die Umsetzung erfolgt voraussichtlich überwiegend mit Python, es können jedoch auch andere Programmiersprachen und Technologien eingesetzt werden. GitLab dient zur Verwaltung von Dokumentation, Wissensbasis und Projektergebnissen. KI-Agenten unterstützen die Erstellung und Verfeinerung von Artefakten, greifen auf die Wissensbasis zu und begleiten Entwicklungsteams bei ihren Engineering-Aktivitäten. Das Projekt bietet, neben einem systematischen Engineering, auch die Möglichkeit, praktische Erfahrungen mit Konzepten wie Retrieval-Augmented Generation (RAG), Prompt Engineering und agentenbasierten KI-Systemen zu sammeln.
Künstliche Intelligenz (KI) kann – richtig eingesetzt – einen wertvollen Beitrag zur gezielten Vertiefung von Bildung und Wissen in unserer Gesellschaft leisten.
Die SindbotApp verfolgt das Ziel, den Zugang zu vielfältigen Bildungsthemen zu erleichtern. Sie stellt zu den auf einer Bildungsweltkarte erfassten Fächern Prompts bereit, mit denen sich unterschiedliche Themen erkunden und vertiefen lassen. Nutzerinnen und Nutzer können sich durch die Bildungsweltkarte navigieren, interessante Inhalte auswählen und die zugehörigen Prompts ausführen.
Das zugrunde liegende Konzept basiert auf vier Bildungskontinenten: KULTUR, GESELLSCHAFT, NATUR und TECHNIK. Jeder Kontinent umfasst sieben Fächer, denen verschiedene Bildungsinhalte und Prompts zugeordnet sind.
Ein Beispiel für einen solchen Prompt lautet: "Recherchiere ein reales Beispiel, bei dem ein KI-System durch Verzerrung oder Halluzination einen nachweisbaren Schaden verursacht hat. Erkläre anschließend, wer nach geltendem Recht dafür haftbar gemacht werden könnte."
Im Rahmen des Projekts soll die SindbotApp entwickelt und um Funktionen zur Qualitätssicherung und statistischen Auswertung ergänzt werden. Als Programmiersprache kommt Python zum Einsatz.
Die Web-Anwendung soll auf einer klar strukturierten und gut dokumentierten Drei-Schichten-Architektur basieren. Ein zentraler Bestandteil ist die Visualisierung der Bildungsweltkarte, über die Nutzerinnen und Nutzer intuitiv zu den einzelnen Kontinenten, Fächern und Bildungsinhalten navigieren können.
Die Korrektheit und Konsistenz der Datenbasis soll nach jeder Bearbeitung systematisch überprüft werden können.- Sind die JSON-Dateien korrekt aufgebaut?- Referenzieren die Beziehungen existierende JSON-Objekte?- Bestehen sprachliche Fehler in den Texten?
Darüber hinaus sollen statistische Funktionen für den laufenden Betrieb der Anwendung entstehen. Dazu gehören beispielsweise:
- die Erfassung der Besucherzahlen,
- die Ermittlung der am häufigsten aufgerufenen JSON-Objekte und Bildungsinhalte,
Keine Beschreibung verfügbar
Englisch
Keine Beschreibung verfügbar
Interaktives Fragetool für Vorlesungen TM Zitterbart
Weiterhin sollen die Studenten innerhalb einer Vorlesung gegeneinander spielen und für schnelle und korrekte Antworten Punkte sammeln können.