Im Rahmen dieses Programmierprojektes wird in Gruppen von jeweils 2-3 Personen ein webbasierter Routenplaner implementiert.

Das Projekt verläuft in 3 Phasen, jede Gruppe muss nach Ende einer Phase die entsprechende Aufgabe fertiggestellt haben, um weiter am Programmierprojekt teilnehmen zu dürfen.

Kontakt

Gruppen

Teilnehmer melden sich für die Lehrveranstaltung im C@mpus an. Nach Ablauf der Anmeldefrist (15.4) werden die Teilnehmer in 2er-Gruppen eingeteilt und jeder Gruppe ein git-Repository auf dem vom TIK gehosteten Github-Server zugeteilt. Sie können sich mit ihrem TIK (C@mpus) Account dort anmelden. Erst bei der ersten Anmeldung wird dort ein Account erstellt. Das bedeutet, dass man sich einmal anmelden muss, damit man erstmal im System ist und vom LV-Verantwortlichen dann ein Repository zugewiesen bekommen kann. Wenn man sich dort angemeldet hat, dann noch beim LV-Verantwortlichen melden, damit der einem ein Repository zuweisen kann.

Gruppe Teilnehmer Phase 1 Phase 2 Phase 3
1 M.Ö., J.W. OK OK OK
2 S.A., H.C. OK ND -
3 V.P., A.P. OK OK OK
4 P.A., L.B., J.S. OK OK ND
5 M.P., M.M. OK OK OK
7 J.Ö., B.L. OK RNF -
8 D.K., E.M. OK OK OK
9 A.K., R.B. OK RNF -
10 M.A., M.K. OK OK OK
11 T.B., F.W. OK OK OK
12 B.D., S.A. OK RNF -

TBR = to be reworked

RNF = requirements not fulfilled

ND = not delivered

ILIAS-Kurs

Es gibt einen Illias-Kurs für die Kommunikation zwischen den Teilnehmern.

Hardware

In dieser Veranstaltung werden Sie mit etwas größeren Datenmengen zu tun haben. Falls ihr Rechner weniger als 8GB RAM zur Verfügung hat, könnte es für die größeren Datensätze problematisch werden. Als Student haben Sie jedoch die Möglichkeit, in der bwcloud eine VM mit 8GB RAM (Stand 2018) zu nutzen (als Ubuntu 18.04 Image).

Formalien

Im C@mpus muss zusätzlich der Prüfungstermin bei Funke angemeldet werden. Die Lehrveranstaltung ist nicht benotet, es gibt nur Bestehen und Nichtbestehen.

Für alle Phasen:

Beim Test für die Abnahme wird eine VM mit dem Image Ubuntu 18.04 aus der bwCloud verwendet (i5 Haswell, 3.2 GHZ, Ubuntu 18.04, 8GB RAM). Java und Mavenversion richten sich danach welche in den Standardpaketquellen gegeben ist, siehe Versionen (Stand 14.4.2019). Das Programm muss in Java geschrieben sein und darf nur die Standardbibliothek verwenden. Entsprechende Dokumentation um das Programm zu bedienen muss beigefügt werden.

Eine Abgabe

  • muss im gegebenen Git-repository hochgeladen werden als branch mit Namen “abgabe”
  • muss einfach von der Konsole kompiliert und gestartet werden können, dazu muss es entweder einfache Skripte wie “build.sh” geben oder ein automatisiertes Build-System wie maven verwendet werden.
  • darf keine Graphdaten enthalten
  • darf keinen kompilierten Code enthalten, also keine .class oder .jar Dateien
  • ein README enthalten, welches
    • die Übersetzung in der Konsole auf einem Ubuntu 18.04 System erklärt
    • die Benutzung erläutert
  • das repository muss kleiner als 1MB sein

Zeit- und Platzanforderungen beziehen sich immer auf den Deutschland-Datensatz

  • Implementierung muss auf einem Rechner mit 8GB RAM lauffähig sein
    • Längen- und Breitengrad müssen jeweils als double-Genauigkeit, d.h. 8 Byte abgespeichert werden
  • Bei Algorithmen für die eine Laufzeitanforderung besteht, müssen benötigte Laufzeiten auf der Konsole ausgegeben werden.

Phase I (Deadline 20.06.2019)

Erstellung der Routenplanungskomponente;

  • Kriterien für das Bestehen:
    • Die folgenden beiden Zeitanforderungen müssen eingehalten werden.
      • Einlesen des Deutschland-Graphen darf maximal 2 Minuten dauern
      • Korrekte Berechnung eines one-to-all Dijkstra darf nicht mehr als 20 Sekunden dauern
    • Die Implementierung muss es erlauben, sowohl Start-Ziel-Anfragen zu stellen, als auch Dijkstra von einem Knoten zu allen anderen Knoten zu berechnen sowie danach Distanzen vom Startknoten abzufragen
    • Desweiteren muss es die Möglichkeit geben, eine Datei mit Start-Ziel-Anfragen einzulesen und die Distanzen auszugeben (siehe bereitgestellte .que bzw. .sol Dateien): .que/.sol-Dateien; Aufruf z.B. mit ./myBenchmarker bw.fmi bw.que; die Ausgabe muss dann genau bw.sol entsprechen, d.h. ein Diff-Befehl sollte Gleichheit der Dateien ergeben.

Phase II (Deadline 20.07.2019), Nachbearbeitung: 27.07.2019

Lokalisierung;

  • Das Finden eines nächsten Nachbarn mit dem k-d-Tree darf im Schnitt nicht länger als 5 ms dauern.

Phase III (Deadline 31.08.2019)

Erstellung der Webclientkomponente und Webserverkomponente.

Es reicht aus wenn das Program lokal testbar ist, d.h. “localhost:8080” im Webbrowser, z.B. Firefox, einzutragen ist.

Treffen

Es stehen keine Treffen mehr an.

Folien

Folien (12.4.19)

ProGit Buch (Die Basics reichen aus)

News

[Oct’21] We have migrated to our new webssite here!

[Jun’19] Our paper on trajectory storage and retrieval has been accepted at SSTD 2019!

[Nov’18] Our paper on regret minimization has been accepted at AAAI 2019 (acceptance rate 16.2%)!

[Oct’18] Our paper on alternative route planning for bicycles has been accepted at ALENEX 2019!

[Apr’18] Martin has successfully defended his Ph.D. thesis. Congratulations!

[Jan’18] The journal version of our paper on k-hop path covers will receive a publication award from our university!

[Nov’17] Our paper on a theoretical explanation for several speed-up techniques for route computation has been accepted at AAAI 2018!

[Oct’17] Thomas’ paper on area preserving map simplification has been accepted at ALENEX 2018!

[May’17] Daniel’s and Martin’s paper on rational points on the unit sphere has been accepted at ISSAC 2017!

[Apr’17] Our paper on personalized route planning with dynamic approximation guarantees has been accepted at SEA 2017!

[Jan’17] Martin’s paper on map matching has been accepted at SIAM SDM 2017!

[Nov’16] Our paper on simultaneous maze solving has been accepted at AAAI 2017.

[Okt’16] Two papers, one on growing balls (!), the other on map simplification will be presented at ALENEX 2017.

[Sep’16] Our paper on Deducing Individual Driving Preferences has been accepted at the 24th ACM SIGSPATIAL GIS 2016.

[Feb’16] Our paper on placing loading stations for EVs has been accepted at ICAPS 2016.

[Jul’15] Paper about our GeoSearch Engine OSCAR at the 16th Int. Conf on Web Information Systems Engineering (WISE)!

[Jun’15] We feel very honored to have our VLDB’14 paper almost verbatimly reproduced in the ‘prestigous’ journal IJSETR, see here. Yeah! 😉

[Feb’15] We were lucky to receive a Google Research Award for research on personalized route planning!

[Sep’14] Our paper “On k-Path Covers and their Applications” has received a Best Paper Award at the 40th Int. Conference on Very Large Databases (VLDB) in Hangzhou (5 out of 139 accepted out of 695 submitted papers).

[Sep’14] Our paper on “Energy-efficient Routing: Taking Speed into Account” has received a Best Paper Award at the 37th German Conference on Artificial Intelligence (KI).

[Jul’14] Our paper “Placement of Loading Stations for Electric Vehicles: No Detours Necessary!” has received a Honorable Mention at the 28th AAAI Conference on Artificial Intelligence (AAAI) in Quebec City (5 nominated out of 398 accepted out of 1406 submitted papers).

[Mar’14] Our StuPro-Team has completed their great “SchulScheduler” project.

[Nov’13] Jochen has defended his PhD thesis and moved on to TomTom.

[Feb’13] Sabine has defended her PhD thesis (already in Dec’12) and received the INFOS award for best CS PhD thesis in 2012!

[Mar’12] Our paper Path Shapes - An Alternative Method for Map Matching and Fully Autonomous Self-Localization presented at GIS 2011 has received the Best Paper Award, also see the ACM SIGSPATIAL newsletter.