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 (~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 müssen die meisten Probleme in DOMjudge gelöst werden. Hierfür werden wir noch genaue Bedingungen bekannt geben.

    • Zeitplan & Vorträge

      Termin Thema
       Material
      14.04.2021
      Einführung, Gruppeneinteilung, Themenvergabe
      Problem X: Problem
      TvD
       
      21.04.2021 Tipps zu Voträgen und Folien
      Problem Y: Problem
      JK
      TvD
       
      05.05.2021 Vortrag Team 1


      12.05.2021 ...


      19.05.2021



      26.05.2021


      02.06.2021


      09.06.2021


      16.06.2021


      23.06.2021


      30.06.2021


      07.07.2021 


      14.07.2021 Vortrag Team 11




      • 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: <<Link kommt noch>>

        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.