Dein letzter Login ist schon eine Weile her.

Bitte überprüfe, ob alle Angaben in Deinem Profil noch aktuell sind.


09.07.2018
von Jan-Dirk
in Partnerunternehmen aus der IT

Patrick gewinnt Code Competition

Herzlichen Glückwunsch zu 500€ Förderung!

Patrick hat mit seiner Webanwendung die Code Competition "Der Auslieferungsfahrer" gewonnen. Herzlichen Glückwunsch! Er erhält nun 500€ Förderung und hat die Möglichkeit genutzt, sich in neue Technologien einzuarbeiten. Hut ab vor der tollen Lösung!

Lesezeit: ca. 4 Min.

Bewerten

Themen auf dieser Seite:

IT-Talents: Hallo Patrick, herzlichen Glückwunsch zu Deinem ersten Platz bei der Code Competition „Der Auslieferungsfahrer“! Erzähl den anderen IT-Talenten doch kurz etwas über Dich.

Patrick: Mein Name ist Patrick, ich bin 21 Jahre alt und studiere momentan Wirtschaftsinformatik im 6. Semester an der TU München. Nebenher arbeite ich in einer Firma für technische Kommunikation als Werkstudent in der Anwendungsprogrammierung. Mit dem Programmieren, vor allem in Java, habe ich so etwa ab der 10. Jahrgangsstufe angefangen, weil Java ab diesem Zeitpunkt auch Thema im Informatikunterricht war. Das war aber nur der Startschuss – seitdem habe ich natürlich stetig weiter gelernt und mich letztlich sogar für ein interdisziplinäres Informatikstudium entschieden, weil mich auch wirtschaftliche Vorgänge interessieren.

IT-Talents: Was hat Dich motiviert, an der Competition teilzunehmen und wie bist Du auf den Wettbewerb aufmerksam geworden?

Patrick: 2016 bin ich zum ersten Mal auf IT-Talents und die Code Competitions aufmerksam geworden, als ich mir die Competition „Kampf gegen Mühlen“ auf Facebook vorgeschlagen wurde. Seitdem folge ich IT-Talents und den Themen der Competitions. Da das TSP ein Problem ist, mit dem ich mich bereits beschäftigt habe, weil es ein sehr faszinierendes und vor allem auch sehr grundlegendes Problem darstellt, habe ich die Gelegenheit natürlich gleich beim Schopfe gepackt.

IT-Talents: Wie bist Du an die Lösung der Aufgabenstellung herangegangen?

Patrick: Zunächst habe ich mich erst einmal in den Wikipedia-Artikel eingelesen und mir überlegt, wie man das TSP am schnellsten noch exakt lösen kann. Ich habe also mit dem trivialen Algorithmus, der einfach alle Routen ausprobiert, begonnen, diesen dann per Branch-and-Bound optimiert, als erste obere Schranke das Ergebnis einer Nearest-Neighbor-Heuristik verwendet und den Prozess schließlich noch per Multithreading beschleunigt. Als die Berechnung dann nur noch 0,3 (anstelle von anfangs 10) Sekunden dauerte, habe ich dann aufgehört, weil mein Programm dann schon in der Lage war, die Lösung für die geforderte maximale Eingabegröße in guter Zeit zu liefern. Da die Aufgabenstellung nicht mit der kürzesten Strecke, sondern mit dem besten Stromverbrauch eines LKW arbeiten sollte, habe ich zusätzlich noch die Umrechnung der Streckenlänge in kWh inkl. Einsparung und Mehrverbrauch bei Gefälle/Steigung implementiert, was aber an sich der am wenigsten schwierige Teile war.

IT-Talents: Du hast Dich für eine Lösung der Aufgabenstellung mit Hilfe von Java und Spring Boot entschieden. Zudem kommen bei Deiner Lösung JavaScript und Frameworks wie jQuery zum Einsatz. Wieso hast Du Dich für diesen Technologie-Stack entschieden?

Patrick: Meine absolute Lieblingsprogrammiersprache war und ist immer noch Java. Ich wollte mich aber gegenüber früheren Projekten weiterentwickeln und habe mich daher auch mal an einer Weboberfläche anstelle einer Desktopapplikation versucht. Dabei war mir wichtig, dass die Berechnung auf einem Server durchgeführt wird und die Anzeige auf einem Client erfolgt. Daher brauchte ich entsprechende Werkzeuge, die dies unterstützen. Spring Boot bot mir eine einfache Möglichkeit, einen Websocket-Endpoint und gleichzeitig die statischen HTML, CSS- und JS-Dateien per HTTP bereitzustellen. Websockets habe ich anstelle einer REST API verwendet, um einfacher Statusrückmeldungen an die GUI senden zu können. Mittlerweile habe ich mich auch sehr mit der Dependency Injection von Spring angefreundet, auch wenn ich sie in diesem Projekt nur wenig genutzt habe. Da ich clientseitig für die immer gleiche und eher einfache Oberfläche kein ganzes Framework heranziehen wollte, habe ich mich für pures JavaScript inkl. Unterstützung durch die jQuery-Bibliothek entschieden.

IT-Talents: Welche Probleme sind bei der Entwicklung der Software aufgekommen? Wie lange hat die Entwicklung gedauert?

Patrick: Ich hatte ab und zu ein paar kleinere Probleme mit meinem Algorithmus, da in einigen Entwicklungsstadien nicht alle Branches durchsucht wurden, die hätten durchsucht werden müssen, was letztlich auf einen Fehler bei meiner Multithreadingimplementierung zurückzuführen war. Ansonsten war nur die Kontingentbeschränkung der Google API etwas nervig, sodass ich für die Entwicklung ca. 5 API-Projekte anlegen musste, um genügend Kontingente für meine Tests zur Verfügung zu haben. Etwas gedauert hat auch die Entwicklung der Weboberfläche, da dies für mich noch recht neu war. Insgesamt denke ich, dass ich in Entwicklung und Dokumentation etwa 8 PT investiert habe.

IT-Talents: Und was hast Du durch die Entwicklung gelernt?

Patrick: Am meisten habe ich über JavaScript und einfache Weboberflächen gelernt. Das war ein guter Startschuss, und seitdem versuche ich mich hier immer weiterzubilden. Ein weiterer wichtiger Punkt ist das Verstehen des Branch-and-Bound-Prinzips, da dieses auch auf viele weitere (hyperexponentielle) Probleme übertragen werden kann, bei denen es wichtig ist, den Lösungsraum für die Optimallösung so klein wie möglich zu halten.

IT-Talents: Was würdest Du Dir thematisch gerne einmal als Code Competition wünschen?

Patrick: Ich finde solche Themen wie dieses, bei denen man sich auch in sehr in Theorie einarbeiten muss, sehr interessant. Wenn das Thema interessant genug ist (subjektiv), investiere ich gerne viel Zeit in das Verstehen neuer Themen. Daher fände ich es super, wenn auch in Zukunft die akademischen Probleme der Informatik weiter Teil der Competitions bleiben!

IT-Talents: Zu guter Letzt: Wie findest Du die IT-Talents.de Plattform, welche Verbesserungsmöglichkeiten siehst Du?

Patrick: Ich finde, IT-Talents ist eine tolle Plattform für Kontakte zwischen jungen IT‘lern und potentiellen Arbeitgebern. Verbessern könnte man die Transparenz des Korrekturfortschritts bei den Competitions – es ist für Teilnehmer immer unklar, wann man mit dem Ergebnis rechnen kann. Vielleicht kann man irgendwo einen Fortschrittsbalken einblenden? ;)

IT-Talents: Eine gute Idee! Vielen Dank für Deine Teilnahme, das Interview und viel Spaß mit Deinem Gewinn ;)

Patricks Lösung in Aktion

Repo bei GitLab

Kennst Du schon?

Erfahre mehr über unseren Partner REDIRECT: REWE Systems GmbH

IT-Talents ist ein Netzwerk nur für IT'ler. Auf unserer Plattform kannst Du Dich als registriertes Mitglied mit wenigen Klicks auf die Jobs unserer Partnerunternehmen oder auf IT-Projekte für Studierende bewerben. Darüberhinaus führen wir Wettbewerbe durch und vergeben IT-Stipendien.

Jetzt Mitglied werden.

Verwandte Artikel

Julian wird Dritter bei Code Competition

04. Nov 2018 in Partnerunternehmen aus der IT

Julian hat mit seiner Lösung bei der Code Competition "Machine Learning" überzeugt und den dritten Platz erreicht. Im I…

weiter

Stefan gewinnt Code Competition!

29. Oct 2018 in Partnerunternehmen aus der IT

Stefan hat mit seiner Lösung unser Partnerunternehmen ZF Friedrichshafen AG überzeugt und schnappt sich den ersten P…

weiter

Johannes sichert sich bei Code Competition "Machine…

28. Oct 2018 in Partnerunternehmen aus der IT

Johannes hat bei der Code Competition "Machine Learning" mitgemacht und mit seiner Lösung den zweiten Platz erreicht - …

weiter

Platz 1 für Jonas bei Code Competition

16. Sep 2018 in Partnerunternehmen aus der IT

Jonas konnte mit seiner Lösung überzeugen und gewinnt den ersten Platz und damit 500€ bei der Code Competition "Co…

weiter

Sören erreicht Platz 3

07. Sep 2018 in Partnerunternehmen aus der IT

Sören hat zum ersten Mal an einer IT-Talents.de-Code-Competition teilgenommen - und direkt den dritten Platz erreicht. …

weiter

Jan holt bei Code Competition dritten Platz

29. Aug 2018 in Partnerunternehmen aus der IT

Jan ist erst 15 Jahre alt, konnt aber trotzdem mit seiner "Game of Life"-Lösung brillieren, sich gegen etliche andere …

weiter

Platz 2 geht an Kim

08. Jul 2018 in Partnerunternehmen aus der IT

Kim hat mit seiner Lösung bei der Code Competition "Der Auslieferungsfahrer" den zweiten Platz erreicht und erhält eine F…

weiter

Schnell-Login für unsere Mitglieder

Tipp: Halte Dein Profil aktuell.

Lass' uns wissen, falls sich etwas Neues bei Dir ergibt.

Tipp: Vervollständige Dein Profil für noch bessere Karrierechancen.

Bist Du Schüler, Student oder bereits berufstätig? Teile uns Deinen aktuellen Status mit, damit wir Dir sinnvolle Aufgaben anbieten können.

Jetzt Status angeben

Wann stehst Du der IT-Branche zur Verfügung?

Bitte Monat und Jahr angeben.

{{ perspectiveForm.availableFrom.$error.dynamic }}

Neuer Versuch

Wo möchtest Du durchstarten?

{{ location.geolocation.name }}×
Bitte mindestens ein Ort angeben.

Als {{currentUser.status.title}} bist Du bereit für:


Lade Beschäftigungsarten

Bitte wähle den Zeitpunkt, Ort und min. eine Beschäftigungsart aus.

You have voted!
Schliessen
Vote for:
stars
Vote
You have not rated!