Topic outline

  • General

    Zeit & Ort: Mi 16-18 Uhr, online
    Dozenten: Thomas van Dijk, Jonathan Klawitter
    Voraussetzung:
    • Algorithmen und Datenstrukturen (notwendig)
    • Algorithmische Graphentheorie (dringend empfohlen)
    Zielgruppe: Bachelor Informatik, Bachelor Luft- und Raumfahrt-Informatik, Master Informatik
    Modul: Bei erfolgreicher Teilnahme wird die Leistung als (benotetes) Seminar eingetragen.
    Umfang: 5 ECTS, 2 SWS

    Thema und Ziele

    In diesem Seminar sollen die Techniken aus den Vorlesungen ADS und AGT vertieft und angewendet werden. Dazu nutzen wir Aufgaben aus vergangenen Programmierwettbewerben. Fähigkeiten, die im Speziellen in diesem Seminar vermittelt werden:

    • Programmierprobleme mit Hilfe der Techniken aus ADS und AGT lösen
    • Vergleich/Abwägen von verschiedenen Lösungsansätzen
    • Implementierung gängiger Programmiertechniken einüben
    • Recherche und Präsentation verschiedener Lösungsansätze

    Die Teilnehmenden lernen, sich intensiv in ein abgegrenztes Thema aus dem Themengebiet einzuarbeiten, dieses didaktisch aufzubereiten und den anderen Kursteilnehmenden in einem Vortrag zu vermitteln. Dieses Thema und die zugrundeliegende Literatur sollen sie selbstständig finden und vorschlagen.

    Anmeldung

    Wenn du am Seminar teilnehmen möchten, melden dich zunächst bitte hier in WueCampus an. Die Teilnahme am Seminar erfolgt in 2er-Teams!

    • Wenn du noch ein Teammitglied benötigst, kannst du diesen Channel im Uni RocketChat benutzen, um andere Studierende in selber Lage zu finden.
    • Wenn ihr bereits ein Team gebildet habt, dann schreibt uns beiden bis zum 11. April bitte ein Mail mit folgenden Informationen: Namen, Matrikelnummern, Bachelor/Master, AGT bestanden ja/nein, letztes Semester vor Abschluss ja/nein
    In der ersten Semesterwoche werden wir entscheiden welche Teams einen Platz bekommen. Gleichzeitig wird in dieser Woche die Themenvergabe erfolgen.

    Wenn ihr einen Platz im Seminar bekommen habt, dann meldet euch in WueStudy für das Seminar an. Dies ist nur im Mai möglich und wenn diese Anmeldung verpasst wird, kann keine Note verbucht werden.

    Ablauf

    In diesem Seminar verbinden wir die Vorträge mit praktischen Übungen. Jedes Team bekommt eine Programmieraufgabe zugeteilt, welche es zunächst lösen und dann in einem Votrag (bis zu ~15 Minuten) online als Aufnahme präsentieren. Die anderen Teams implementieren anschließend selbstständig eine Lösung für die Aufgabe. Das jeweils vortragende Team steht im Chat für Fragen und Hilfestellungen bereit.

    Vor dem eigenen Vortrag, bespricht sich jedes Team mindestens zwei mal mit den Dozenten. Bis spätestens zwei Wochen davor muss der Lösungsansatz des eigenen Problems und bis spätestens eine Woche davor müssen die (bis dahein bereits erstellten) Folien für den Vortrag besprochen werden.

    Evaluierung

    Zum Bestehen des Seminars muss deine Gruppe ein Vortrage online als Aufnahme präsentieren, wobei ein Nichteinhalten einer Fristen für Besprechungen als Nichtbestehen bewertet werden kann. Der Vortrag wird benotet und soll zu gleichen Teilen unter den Mitgliedern aufgeteil werden. Außerdem  muss eine Menge von Probleme in DOMjudge gelöst werden, die die unten stehenden Bedingungen erfüllt.
    Die Probleme X und Y bleiben dabei außer Acht, sprich nur "echte" Probleme zählen.

    1. Die Menge enthält alle Probleme mit der gleichen Wochenparität als Ihr eigenes Problem (entweder A, C, E, G, K, M oder B, D, F, H, L);
    2. Die Menge hat Kardinalität mindestens 8. Das heißt, Sie dürfen 3 Probleme auslassen, aber nicht beliebig (siehe Punkt 1).

    Diese Bedingungen müssen vor dem 1.8. erfüllt sein. (Das ist etwa zwei Wochen nach der Vorlesungszeit.)

    • Zeitplan & Vorträge

      Termin Thema
       Material
      14.04.2021
      Einführung, Gruppeneinteilung, Themenvergabe
      Problem X: Problem, Video
      TvD
       
      21.04.2021 Tipps zu Voträgen und Videos
      Problem Y: Problem, Video
      JK
      TvD
       
      Folien
      05.05.2021 Problem A: It's All Downhill From Here
      KB+MT
      Folien
      12.05.2021 Problem B: Leyline of Sanctity
      BL+CS
      Folien, Tool
      19.05.2021
      Problem C: A Series of Tubes
      FZ+MK
      Folien
      26.05.2021 Problem D: The Twilight Drone
      LW+RH
      Folien, Tests
      02.06.2021 Problem E: Infinity War
      FP+MH
      Folien
      09.06.2021 Problem F: Domiyes
      FS+SB
      Folien, Tool
      16.06.2021 Problem G: Safe Harbour
      MB+TG
      Folien
      23.06.2021 Problem H: Black Mole Son
      LA+LS
      Folien
      30.06.2021 Problem K: Teardown
      CR+DS
      Folien, Tool
      07.07.2021  Problem L: Well Spoken
      HM+JS
      Folien, Beispiele
      14.07.2021 Problem M: Awesome Games Done Quick
      JZ+MH
      Folien


      • Themen

        Die Themen werden in der ersten Semesterwoche vergeben. Eine Auswahl an Problemen geben wir hier noch bekannt.

      • Einreichungssystem DOMjudge

        Lösungen werden eingereicht mit DOMjudge; der Server ist Uni-Intern und über VPN verfügbar unter: http://wuejudge.informatik.uni-wuerzburg.de

        Schaut euch unsere Videoanleitung an, erstellt einen Account und löst Problem X.

        Der Server kompiliert und führt Ihren Code aus. Es gibt Sicherheitsmaßnahmen, die versuchen, Sie daran zu hindern, zu den geheimen Instanzen zu gelangen, aber hier ist die eigentliche Sicherheitsmaßnahme (genau wie bei echten Wettbewerbe): Wenn Sie versuchen, uns zu hacken, werden Sie disqualifiziert.
        Zeit- oder Speicherüberlauf sollte von DOMjudge aufgefangen werden, also machen Sie sich darüber keine Sorgen. Aber eine Fork-Bombe (z.B.) wird den Server wahrscheinlich umbringen. Machen Sie es einfach nicht.

      • Vorträge / Videos und weitere Materialien