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 2025/26

Anmeldebeginn Montag, 3. November 2025 17:30
Anmeldeschluss Dienstag, 4. November 2025 23:59
Link zur offiziellen PSE-Website. Mail an die Organisatoren.

Projekte (vorläufig)

Hinweis: Klicken Sie auf einen Projekttitel, um weitere Informationen anzuzeigen.

Um das Verhalten von Personen im Verkehr (wie z.B. die Wahl des Verkehrsmittels für einen Weg) zu verstehen und zu prognostizieren, werden in der Verkehrsforschung sog. Discrete Choice Modelle verwendet.
Diese basieren meist darauf, den Nutzen verschiedener Alternativen (z.B. PKW, Fahrrad, Fuß, ÖV, E-Scooter, ...) als Summe verschiedener Einflussfaktoren (z.B. Dauer, Kosten, Alter, Beruf, Geschlecht, ...) zu modellieren.

Wie groß der Einfluss dieser Eigenschaften jeweils ist, kann mithilfe einer Maximum-Likelihood-Schätzung anhand von Befragungs-Daten bestimmt werden (Parameter: b_time, b_cost, b_age, ...).
Für diese Faktoren-Schätzung existieren bereits Implementierungen (wie z.B. das R Package apollo). Dabei wird neben den Einflussfaktoren auch deren statistische Signifikanz bestimmt.

Die Schätzung solcher Modelle erfolgt in der Regel auf Basis von Befragungsdaten. Für dieses Projekt wird ein großer Datensatz an Befragungsdaten zur Verfügung gestellt.
Dabei ist oft unklar, welche der erhobenen Einflussgrößen (z. B. Alter, Einkommen, Haushaltsgröße, Besitz eines ÖPNV-Tickets ...) tatsächlich relevant und statistisch signifikant sind.
Das manuelle Testen, Hinzufügen und Entfernen von Variablen ist bei Datensätzen mit über 100 potenziellen Einflussfaktoren äußerst zeitaufwändig, insbesondere, wenn Korrelationen zwischen Variablen bestehen.

In diesem Praktikum soll daher eine Software entwickelt werden, die diesen Prozess teilweise automatisiert und Forschende bei der Modellentwicklung unterstützt.

Die Anwendung soll:
- Befragungsdaten im Tabellenformat importieren (verschiedene Datentypen: Numerisch, Boolesch, ...)
- Auswahlalternativen definieren (z.B. PKW, Fahrrad, ...)
- eine manuelle Auswahl von Einflussfaktoren ermöglichen und auf Korrelationen zwischen Variablen hinweisen
- die Apollo Library zur Schätzung von Modellparametern ansteuern
- eine automatisierte, iterative Auswahl relevanter Einflussfaktoren durchführen
- die besten gefundenen Modellparameter exportieren

Die Anwendung soll als Desktop-Anwendung in Python oder Kotlin umgesetzt werden.
Bei der Entwicklung der grafischen Oberfläche sowie der Nutzerinteraktion soll berücksichtigt werden, dass es sich bei der Zielgruppe um Verkehrsingenieure handelt, die bereits mit der Domäne vertraut sind.
Ziel ist eine Open Source Veröffentlichung der Anwendung zur freien Verwendung.

Dieses Projekt kann bei Bedarf auch auf Englisch betreut werden.

Es soll eine Webanwendung mit dem Namen InnoDocApp entwickelt werden, die es externen Partnern ermöglicht, auf ausgewählte Unternehmensdokumente zuzugreifen. Grundlage für den Zugriff bildet das Konzept der Dezentralen Identität (Decentralized Identity). Bei der dezentralen Identität wird die Kontrolle über Identitäten von zentralen Instanzen auf die Nutzer selbst übertragen. Die Authentifizierung und Autorisierung der Nutzer erfolgen über digitale Nachweise (Credentials), die entweder von vertrauenswürdigen Drittparteien oder direkt von der Organisation ausgestellt werden. Im Fall der InnoDocApp stellt beispielsweise InnoComp die entsprechenden Credentials für externe Partner aus.

Damit das Konzept funktioniert, sind folgende Funktionalitäten zu entwickeln:
Nutzer authentifizieren sich mit dem Credential, das sie in ihrer EUDI Wallet mitführen. Dieses Credential ersetzt klassische Login-Verfahren und ermöglicht einen vertrauenswürdigen, dezentralen Zugang zur Anwendung. Die Anwendung ermöglicht das Erfassen, Speichern und Verwalten verschiedener Dokumente. Jedes Dokument enthält strukturierte Metadaten (z B. Kritikalitätsstufe, Abteilung), die für die Zugriffssteuerung verwendet werden. Eine Such- und Filterfunktion soll das Auffinden relevanter Inhalte erleichtern. 
Das Credential bestimmt den Zugriff des Benutzers. Die darin enthaltenen Berechtigungen bestimmen, welche Dokumente einsehbar sind und welche Aktionen (z. B. Kommentieren) erlaubt sind. So lassen sich Zugriffseinschränkungen auf Grundlage von Dokumenttyp, Sicherheitslevel oder Abteilung umsetzen.
Verschiedene Transaktionen, wie beispielsweise die Anmeldung (und Präsentation) des Credentials werden protokolliert. Die Transaktionshistorie ermöglicht eine Nachvollziehbarkeit der Zugriffe.

Ein wichtiger technologischer Aspekt, der im Projekt berücksichtigt werden sollte, betrifft die laufenden Entwicklungen im Rahmen der European Digital Identity (EUDI). Insbesondere die Referenzimplementierungen der EU für zentrale Funktionalitäten wie die Ausstellung von Credentials, deren Verifikation, sowie die EUDI Wallet selbst, sollen nach Möglichkeit integriert werden. Das bedeutet, dass bestimmte Komponenten der InnoDocApp bewusst auf bestehenden EUDI-Referenzprojekten aufbauen können und sollen.

Das Engineering erfolgt nach den bekannten Phasen der Softwareentwicklung. Um die Entwicklung zu systematisieren, wird ein in der Forschungsgruppe entwickelter Microservice-Engineering-Ansatz eingesetzt. Durch diesen Prozess werden gezielt die notwendigen Artefakte erstellt. Die zu entwerfende Architektur soll dabei so entwickelt werden, dass die verwendeten Dezentrale-Identitäten-Technologien (wie beispielsweise die EUDI Wallet) möglichst einfach ausgetauscht werden können. Als Implementierungssprachen sollen Golang und Python zum Einsatz kommen. Abhängig von den Referenzimplementierungen kann davon aber auch abgewichen werden.

Kontakt: michael.schneider@kit.edu

In diesem Projekt entwickeln Sie einen interaktiven visuellen Editor zum Modellieren und Überprüfen von Verkehrsszenarien. Mit diesem Tool können Benutzer Straßen, Kreuzungen und Autos zeichnen, um Verkehrsschnappschüsse zu erstellen, die reale Situationen darstellen. Anschließend können Benutzer UMLSL-Formeln (Urban Multi-lane Spatial Logic) schreiben, um räumliche Eigenschaften wie Spurwechsel, Überholen oder Sicherheitsabstände zu beschreiben. Das Tool überprüft dann die Syntax und verifiziert, ob die Formeln im visuellen Modell gültig sind.

Dieses Projekt kombiniert Grafikprogrammierung, Logik und Software-Design. Sie können Ihre Programmiersprache und Technologien frei wählen.

Overview

This project aims to design and develop a comprehensive web platform that helps individuals prepare effectively for the Leben in Deutschland exam. The platform will provide users with an interactive and personalized learning experience, combining structured study materials, practice exams, progress tracking, and AI-powered feedback. The goal is to create a reliable, easy-to-use tool for both newcomers and long-term residents in Germany who need to pass this important integration test.

Key features

1. Interactive Learning Modules:

  • Structured content covering German history, culture, politics, and legal systems.
  • Topic-based lessons aligned with the official “Leben in Deutschland” curriculum.
  • Progress tracking to monitor completed modules and performance over time.

 

2. Practice Tests & Exam Simulation:

  • Realistic mock tests that simulate the official exam format.
  • Automatic grading and instant feedback.
  • Explanations for correct answers to reinforce learning.

 

3. AI-Powered Personalized Learning:

  • Adaptive recommendations based on users’ weak areas.
  • Intelligent question selection to optimize learning efficiency.
  • Optional chatbot support to explain concepts and answer user questions.

 

4. Multilingual Support & Accessibility:

  • Interface available in multiple languages (German, English, and more).
  • Mobile-friendly responsive design for accessibility across devices.

 

5. Admin Dashboard:

  • Secure backend for managing content, user statistics, and performance analytics.
  • Ability to update questions and lessons dynamically.

Applications

·        Immigrants and residents preparing for the official “Leben in Deutschland” exam.

·        Language schools and integration courses seeking an online supplementary tool.

·        Educators and trainers providing structured study programs.

·        Self-learners aiming for flexible, independent preparation.

Project roadmap

1. Project definition and task division:

  • Define the system architecture, modules, timeline, and team responsibilities.

 

2. Execution phase:

  • Design frontend (user interface) and backend (database and logic).
  • Integrate AI components for personalized feedback.
  • Implement practice test engine and lesson modules.
  • Develop admin panel for content management.

 

3. Testing and troubleshooting:

  • Validate functionality through unit and integration tests.
  • Fix bugs and improve UX based on user feedback.

 

4. Final presentation:

  • Live demo of the platform showing core functionalities.
  • Future development outlook (e.g., mobile app, advanced analytics).

Project requirements

·        Programming skills

Contact information

·    Contact person #1: Sina Bakhtavari Mamaghani

·    Email address: sina.mamaghani@kit.edu

·    Address: Room B2 314.1, Haid-und-Neu-Str. 7, Karlsruhe.

 

·    Contact person #2: Ali Nezhadi Khelejani

·    Email address: ali.nezhadi@kit.edu