Aktuelles
13.07.2010
Bitte alle Ausarbeitungen, Folien und den Code als .zip-Datei bis zum 15.08.2010 an Veneta Dobreva schicken.
04.02.2010
Die Webseite mit Themen und sonstigen Informationen ist jetzt online.
Bei Fragen wenden Sie sich bitte an Veneta Dobreva
Organisation
Termin:
Termin: Montags, 16:15 - 17:45 Uhr
Die Vorbesprechung findet am Donnerstag, den 11.02.2010 um 17:00 Uhr im Ted-Codd-Seminarraum (02.09.014) statt
Bitte beachten Sie die Anwesenheitspflicht: Sie müssen nicht nur zu Ihrem eigenen Vortrag anwesend sein, sondern auch an allen anderen Terminen.Bitte alle Ausarbeitungen, Folien und den Code als .zip-Datei bis zum 15.08.2010 an Veneta Dobreva schicken.
Ort:
Ted-Codd-Seminarraum (02.09.014)
Anmeldung:
Wir laden Sie ein, die Problemstellungen herunterzuladen (jeweils PDF-Dokumente, typischerweise < 100 KB) und durchzusehen. Sobald Sie Ihre Lieblings-Probleme identifiziert haben, senden Sie bitte eine E-Mail an Veneta Dobreva mit dem Betreff Proseminar ACM ICPC
Bitte melden Sie sich bis 28.02.2010 per E-Mail bei Veneta Dobreva ( ) an. Geben Sie bei Ihrer Anmeldung bitte insbesondere folgende Informationen an:
- Anrede
- Vorname
- Nachname
- Matrikelnummer
- Ihr aktuelles Studiensemester
- Ihren Studiengang (z.B. Informatik Diplom)
- Problem #x
- Problem #y
wobei Sie #x und #y durch die Nummer der von Ihnen gewälten Probleme ersetzen ( Problem #y bekommen Sie zugewiesen, falls #x bereits vergeben sein sollte. Kollisionen bei den Themenwünschen lösen wir auf). Bitte benutzen Sie eine E-Mail-Adresse, unter der wir Sie jetzt und auch im Laufe des Sommersemesters 2010 verlässlich erreichen können. Danke.
Wir empfehlen, dass Sie sich erst nach der Vorbesprechung per Mail anmelden. Ihre E-Mail muss uns spätestens bis 28.02.2010 erreicht haben!
Mitarbeit/Anwesenheit:
Von den Teilnehmern des Seminars wird die aktive Mitarbeit während des gesamten Seminars erwartet. Sie können sich also nicht einfach "nur" auf Ihren eigenen Vortrag konzentrieren, sondern müssen sich auch aktiv mit den anderen Themen des Seminars auseinandersetzen. Sie sollten sich also schon vorher mit dem Thema beschäftigen, damit Sie während des Vortrags "kluge" Fragen stellen können. Bitte beachten Sie die Anwesenheitspflicht: Sie müssen nicht nur zu Ihrem eigenen Vortrag anwesend sein, sondern auch an allen anderen Terminen.
Schein/Bewertung:
Für die erfolgreiche Teilnahme am Proseminar wird ein benoteter Schein ausgestellt. Die Note setzt sich zusammen aus der Bewertung der schriftlichen Ausarbeitung und der Bewertung der Präsentation/des Vortrags.
Hinweise zu den Vorträgen
Wichtig: Spätestens zwei Wochen vor Ihrem Vortrag sollten Sie einen Termin mit dem Betreuer ausmachen, um Ihren kompletten Foliensatz durchzusprechen. Dass sich daraus Änderungen an den Folien ergeben, ist die Regel (nicht die Ausnahme). Stellen Sie also bitte sicher, dass Sie sich ein ausreichend grosses Zeitfenster für Änderungen einräumen.
- Die Länge der eigenlichen Vorträge beträgt jeweils maximal 30 Minuten. Die Erfahrung zeigt, dass in diesem Zeitrahmen nicht mehr als etwa 25 Folien sinnvoll präsentiert werden können. An die Vorträge schließt sich eine kurze offene Diskussion an, die sich auf den Inhalt des Vortrages aber auch auf den Vortrag an sich (Folien, Sprache) beziehen kann.
- Sie finden weitere wertvolle Hinweise zum Aufbau eines Vortrages, zum Layout von Folien und dem Halten des Vortrages selbst, auf den folgenden Seiten:
- Der Inhalt des Vortrags sollte das durch den ACM Programming Contest gestellte Problem genau erläutern und vielleicht an 1-2 Beispielen demonstrieren. Dabei sollten Sie betonen, was das Problem interessant und/oder knifflig macht. Den Rest des Vortrages sollten Sie (1) auf die Diskussion möglicher Lösungsansätze (es kann durchaus mehrere denkbare Lösungen geben) und (2) die Darstellung der Realisierung der von Ihnen gewählten und implementierten Lösung verwenden.
Wichtig: Auf einer Folie Ihres Vortrages sollten Sie möglichst genau begründen warum Sie gerade die von Ihnen gewählte Programmiersprache einsetzt. Falls Sie nur eine Programmiersprache beherrschen, verwenden Sie bitte diese Folie stattdessen darauf, 2-3 Features einer (fiktiven) Programmiersprache zu identifizieren, die Ihnen bei der Formulierung der Lösung besonders hilfreich gewesen wäre.
- Ihr Programm zur Lösung des Problems wird typischerweise einen algorithmischen Kern - oft wenige Zeilen - beinhalten. Diesen Kern, evtl. gekürzt und vereinfacht falls angebracht, können und sollen Sie während des Vortrags zeigen und erklären. Wenn sich der Code selbst nicht eignet, ist ein Flussdiagramm oder Ähnliches vielleicht eine bessere Alternative. Routinen oder Code-Teile, die Eingabe/Ausgabe implementieren sind oft sekundär und gehören nicht in Ihren Vortrag.
- Beachten Sie, dass beim ACM Programming Contest allgemein wohlgeformte Inputs vorausgesetzt werden dürfen. Eine explizite Behandlung illegaler Eingaben können Sie auch im Rahmen dieses Seminars ignorieren.
- Generell gilt: vermitteln Sie das Prinzip Ihrer Lösung; eine genaue Studie des Codes ist nicht angebracht. Es ist auch denkbar, (Ausschnitte des) Code ausschliesslich ganz am Ende des Vortrages, auf sog. Backup-Folien in den Foliensatz aufzunehmen. Diese Folien zeigt man nur, wenn die Diskussion nach dem Vortrag oder spezifische Nachfragen dazu führen sollten.
- Der Vortrag von Matthias Reitinger aus dem SS 2007 setzt diese Vorgaben vorbildlich um (dieser Vortrag wurde mittels der LaTeX-Class Beamer realisiert: Shuffle Off to Milledgeville
- Die tatsächliche Demonstration Ihres lauffäigen Programmes während des Vortrages kann sehr sinnvoll und motivierend für die Zuhörer sein. Auch hier gilt aber: kleine Beispiele, die den common case zeigen und nicht die vielleicht eher esoterischen Randfälle des Problems und seiner Lösung zum Inhalt haben.
Hinweise zu den Ausarbeitungen:
Ziel der Seminare ist es nicht nur, mit dem jeweiligen Thema vertraut zu werden, sondern auch Präsentationstechniken zu üben. Viele technische Arbeiten werden mittels LaTeX erstellt, so dass Studierende frühzeitig den Umgang damit erlernen sollen. Deshalb ist die Ausarbeitung ausnahmslos mittes LaTeX anzufertigen und als pdf-Datei abzugeben. Für eine Einführung in LaTeX können Sie sich das Buch "LaTex" von Helmut Kopka aus der Bibliothek ausleihen. Das Buch "The LaTeX companion" von Frank Mittelbach sollte Ihnen ausserdem alle weiterführenden Fragen beantworten. Für Bilder empfehlen wir im Weiteren das Paket TikZ zu verwenden. Ein sehr gutes Online Latex Tutorial finden Sie unter Latex Tutorial. Weitere hilfreiche Tipps zur professionellen Erstellung von Dokumenten mittels LaTeX finden Sie im Web. Sehr zu empfehlen sind auch die Ratgeber von Manuela Jürgens, [pdf] und [pdf].
Tipps zum Erstellen Ihrer Ausarbeitung
- Führen Sie wichtige Fachbegriffe zuerst ein, d.h. liefern Sie eine klare Definition, ehe Sie sie in der weiteren Ausarbeitung verwenden
- Heben Sie Code-Fragmenente vom übrigen Textfluss ab (z.B. in verbatim oder alltt Umgebungen)
- Variablen oder Funktionen im Text sollten ebenfalls abgehoben werden (in LaTeX z.B. immer kursiv \emph)
- Fügen Sie Bilder nicht in den Fließtext ein, sondern erstellen Sie vollständige Bild-Umgebungen mit Unterschrift, z.B. am Anfang oder Ende einer Seite. Referenzieren Sie die Bilder auch im Text.
- Literaturangaben, die im Literaturverzeichnis aufgeführt werden, müssen im Text auch referenziert werden (wenn Sie BibTex verwenden, umgehen Sie die Gefahr unreferenzierter Literaturstellen).