Ämnesdisposition

  • Allmänt

  • Seminar: Algorithmen für Programmierwettbewerbe

    Umfang: 5 ECTS, 2 SWS
    Zeit & Ort: Mi 14–16, E40 / online
    Voraussetzung: – Algorithmen und Datenstrukturen (dringend empfohlen)
    – Algorithmische Graphentheorie (wünschenswert, kann aber auch gleichzeitig gehört werden)
    Zielgruppe: Bachelor Informatik, Bachelor Luft- und Raumfahrt-Informatik, Master Informatik
    Dozenten: Thomas van Dijk, Jonathan Klawitter

    Anmeldung

    Wenn Sie am Seminar teilnehmen möchten, melden Sie sich hier in WueCampus an. Im Verlauf des Semesters wird die Anmeldung in WueStudy frei geschaltet und ebenso notwendig. Die Themenvergabe an Gruppen erfolgt in der ersten Semesterwoche.

    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.

    Module

    Bei erfolgreicher Teilnahme wird die Leistung als (benotetes) Seminar für den Bachelor- oder Masterstudiengang Informatik bzw. Luft- und Raumfahrt-Informatik eingetragen.

    Ablauf

    In diesem Seminar verbinden wir die Vorträge mit praktischen Übungen. Alle Seminarteilnehmenden werden einen Vortrag (30 Minuten) zu einer Programmieraufgabe halten, die Zuhörenden implementieren anschließend selbstständig (mit Hilfe des Vortragenden) eine Lösung für die Aufgabe. 

    Während keine Präsenzveranstaltungen stattfinden, werden die Vorträge online als Aufnahme präsentiert. Die Diskussionen und Hilfestellung bei der Implementierung werden ebenso online erfolgen (siehe nächster Punkt).

    Chat

    Für Ankündigungen, Gruppenbildung, Diskussionen und Fragen werden wir eine Slack-Gruppe nutzen. Sie können sich unter diesem Link dort anmelden. Bitte benutzt Sie ihren Klarnamen bzw. Vorname + erste Buchstabe des Nachnamens.

    Evaluierung

    Zum Bestehen des Seminars müssen Sie bzw. ihre Gruppe ein Vortrage online als Aufnahme präsentieren sowie die meisten Probleme in DOMjudge lösen. Hierfür gelten die folgenden Bedingungen:

    • Jedes Team muss vier der ersten fünf Seminarprobleme lösen (also alle bis auf eines aus C, M, D, F, H).
    • Jedes Team muss fünf der verbleibenden sechs Seminarprobleme lösen (also alle bis auf eines aus K, L, E, N, P, Q).
    • Teams aus zwei Studenten dürfen ein zusätzliches Problem ihrer Wahl auslassen.
  • Zeitplan

    Termin Thema Vortragende  Material
    22.04.2020
    Einführung, Gruppeneinteilung, Themenvergabe, X

     
    29.04.2020 Vortrag -1: Y Thievery        
    TvD         
    Folien
    06.05.2020 Vortrag 0: Z Jinxed Betting
    JK Folien, Java, Python
    13.05.2020
    C Intergalactic JoS, BR, ES Folien
    20.05.2020 M Train Reversal
    YR, ML Folien
    27.05.2020 D unum modo platea
    NH, AL Folien, Material
    03.06.2020 F Those who trespass against us
    TJ, MW, ME Folien (pptx, pdf), Visualisierungs-Tool
    10.06.2020 H Keychain Shuffle
    MKo, LW Folien, Material
    17.06.2020 K Daily Dividend
    HTHG, NHH, AJ Folien (pptx, pdf)
    24.06.2020 L Hiking Preparations
    LB, MH, EO Folien (pptx, pdf)
    01.07.2020  E Why is this cable not longer?
    JuS, AEBY Folien (ppt, pdf)
    08.07.2020 N Is this a detour?
    VB, MN Folien, Material
    15.07.2020 P Assistant to the Regional Manager
    FK, TS Folien (pptx, pdf)
    22.07.2020 Q A Stingy Park Visit MKreu, TH Folien, Material


  • Themen

    Die Themen wurde all in der ersten Semesterwoche vergeben. Es gibt keine freien Plätze mehr.

    Jeder Teilnehmer sollte über DOMjudge (siehe unten) einen Account erstellen und Problem X lösen.

  • Einreichungssystem DOMjudge

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

    Sehen Sie unsere Videoanleitung. Erstellen Sie ein Account und lösen Sie das 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

    Markerad