ODYSSEE

Welcome to ODYSSEE, the automatic team distribution for "Praxis der Softwareentwicklung" at the KIT.

What's ODYSSEE?

ODYSSEE is the central administration tool for Praxis der Softwareentwicklung (PSE). It stands for:

Odyssee
Distributes
Your
Students (to)
Software
Engineering
Exercises

If you want to participate in PSE this semester, you need to register here. Afterwards, you can view and rate available projects. You can also form a group with fellow students if you want to work on the same project together.
Then, ODYSSEE assigns each student a project considering your wishes and other external constraints on a best effort basis. When the distribution is complete, you will be notified via email about your assigned project and team. You can also find this information when you log back in into ODYSSEE.

The kick-off event (Auftaktveranstaltung) gives further information about the projects. Also, don't forget to register for PSE, i.e. the TSE and the PSE exam, in the Campus system.

Current PSE PSE Winter 2021/22

Sign up start Friday, October 22, 2021 4:00 PM
Sign up deadline Monday, October 25, 2021 11:59 PM
Link to the official PSE homepage. Mail the organizers.

Projects (not final)

Hint: Click on a project title to view more information about the project.

Das am KIT entwickelte Bezahlsystem PriPay erlaubt schnelle und Privatsphäre-schützende Bezahlsysteme umzusetzen. Dabei haben Nutzer auf ihrem Smartphone eine digitale Geldbörse. Mittels Zero-Knowledge-Beweisen wird dabei sichergestellt, dass die Berechnungen auf dem Smartphone korrekt durchgeführt werden. Um die Mehrfachverwendung derselben Geldbörse zu detektieren, werden beim Bezahlvorgang Double-Spending-Tags erzeugt und regelmäßig in eine zentrale Datenbank geschrieben.

Für dieses Verfahren soll ein Demonstrator entwickelt werden, der erlaubt eine solche Bezahlung beispielhaft an einem physischen Drehkreuz durchzuführen. Dafür muss Software für eine Android-App, den Computer im Drehkreuz, und weitere Terminals/Displays geschrieben werden, die den gesamten Zahlvorgang mittels PriPay sichtbar machen. Die Kommunikation zwischen Drehkreuz und Smartphone soll dabei mittels NFC ausgehandelt werden und danach wegen höherer Datenrate und Stabilität über eine Bluetooth Verbindung erfolgen. Dafür existiert bereits Beispielcode in Java (für die Android App) und C++ (für die Backend-Seite im Drehkreuz). Für die Kommunikation zwischen den statischen Komponenten wird Ethernet verwendet. Z.B. könnte man REST/Json oder Protobuf über TLS benutzen. Die Hardware für den Demonstrator ist vorhanden und kann bei der Entwicklung in vereinbarten Zeitfenstern benutzt werden.

Die kryptografischen Operationen können wahlweise in C++ implementiert werden (und dann in Android via JNI benutzt werden), oder mit einer Java-Bibliothek implementiert werden.

Für das Design der Anwendung ist es sehr wichtig, die Protokollnachrichten des kryptografischen Protokolls und die tatsächliche Wahl der Kommunikationsschnittstelle beim Entwurf flexibel zu halten.