Proseminar: Fortgeschrittene Programmierkonzepte in Java, Haskell und Prolog
(PS3, SS 2013)
|
|
Veranstalter
Prof. Dr. Jürgen Giesl,
Marc Brockschmidt,
Fabian Emmes,
Carsten Otto,
Thomas Ströder
Termin
Das Proseminar findet wöchentlich am Freitag von 16:15 - 17:45 Uhr in
Raum 5052 statt.
Inhalt
In diesem Proseminar werden fortgeschrittene Konzepte
von Programmiersprachen verschiedender Programmierparadigmen vorgestellt. Als
Vertreter der imperativen und objektorientierten Sprachen betrachten wir
Java, als funktionale Sprache wird Haskell untersucht und als
logische Sprache wird Prolog betrachtet. Das Proseminar baut auf der
Vorlesung "Programmierung" auf, in denen erste Grundlagen dieser
Sprachen behandelt wurden.
Unter anderem werden folgende Themen betrachtet:
- Fortgeschrittene Konzepte in Java:
- Graphical User Interface (Swing, Model-View Controller)
- Generische Typen und Collections
- Multi-Threading
- Refactoring-Techniken für große Projekte
- Fortgeschrittene Konzepte in Haskell:
- Lazy Evaluation
- Funktionen höherer Ordnung und Listenkomprehensionen
- Typklassen, Monaden und Ein-/Ausgabe
- Effiziente funktionale Datenstrukturen
- Fortgeschrittene Konzepte in Prolog:
- Nicht-logische Elemente (Cut, Negation, ...)
- Vordefinierte Prädikate (findAll, ...) und Differenzlisten
Bibliotheksführung
Alle Teilnehmer sind verpflichtet, an einer Bibliotheksführung
teilzunehmen. Die Webseite der Fachbibliothek Informatik finden Sie
hier.
Folgende Termine und Zuteilungen für Bibliotheksführungen
wurden festgelegt:
- 15.04.2013, 10:00-12:00 Uhr:
- Thomas Liepe
- Markus Bauer
- Leonard Korp
- Dennis Slotboom
- Kai Schnackenberg
- Robert Lau
- 16.04.2013, 10:00-12:00 Uhr:
- Carsten Klein
- Nannah Arndt
- Jan-Marcel Dietrich
- Joschka Kliege
- 24.04.2013, 14:00-16:00 Uhr:
- Markus Niewerth
- Felix Bier
- Konstantin Kotenko
- Justin Winkens
- Malte Heithoff
- Nguyen Thanh Tung
Wichtige Termine
Alle Teilnehmer haben die Möglichkeit, sich bis 3 Wochen nach Themenvergabe
(also bis zum 12. April) bei uns vom Proseminar wieder abzumelden.
Erst danach werden wir die Teilnehmer verbindlich dem ZPA melden. Somit
wird ein Abbruch des Seminars nach dem 12. April als Fehlversuch
gezählt.
Es wird erwartet, dass die folgenden strikten Termine eingehalten werden:
- Die angegebene Literatur sollte spätestens
Anfang April bei dem entsprechenden
Betreuer abgeholt werden.
- Am 03.05.2013 sollen alle Proseminaristen einen Kurzvortrag
halten, in welchem sie ihr Thema kurz vorstellen. Hier soll nur ein
grober Überblick gegeben und erste Vortragserfahrungen gesammelt
werden. Die Kurzvorträge dürfen eine Vortragsdauer von 3
Minuten pro Vortragendem nicht überschreiten, womit für
jedes Thema 6 Minuten zur Verfügung stehen. Anschließend
wird ein kurzes Feedback zu den Vorträgen gegeben, welches bei
der Vorbereitung der Hauptvorträge berücksichtigt werden
sollte.
- Spätestens fünf Wochen vor dem Vortrag
führt der Teilnehmer ein Gespräch mit
dem Betreuer über die bis zu diesem Zeitpunkt vorliegenden Resultate.
Insbesondere soll bei diesem Termin eine Gliederung besprochen
werden.
- Spätestens drei Wochen vor dem Vortrag
liegt dem Betreuer eine vollständige Ausarbeitung vor. Sollte diese mehr als 5 Rechtschreib- oder
Grammatikfehler auf einer Seite enthalten, wird die Bearbeitung
abgebrochen.
- Spätestens eine Woche vor dem Vortrag wird die
Ausarbeitung, in genügender Anzahl kopiert, zum Proseminartreffen
mitgebracht (bzw. im Sekretariat des Lehrstuhls ausgelegt). Die
Kopien können am Lehr- und Forschungsgebiet angefertigt
werden. Alternativ ist es nach Absprache möglich, dem Betreuer die fertige
Ausarbeitung per E-Mail zuzuschicken und von diesem drucken zu lassen.
Die genauen Termine der einzelnen Vorträge sowie die jeweiligen
Betreuer sind nachstehend aufgeführt:
Datum |
Vortragende |
Thema |
Betreuer |
12.04.2013 |
J. Giesl |
Allgemeine Hinweise zu Vorträgen |
|
03.05.2013 |
Alle Proseminaristen |
Kurzvorträge |
Alle Betreuer |
07.06.2013 |
C. Klein , T. Liepe |
GUI-Programmierung in Java |
F. Emmes |
07.06.2013 |
L. Korp , K. Kotenko |
Generics, Iterations und Collections |
M. Brockschmidt |
28.06.2013 |
V. Ladage, J. Winkens |
Multi-Threading und Synchronisation |
C. Otto |
28.06.2013 |
M. Niewerth , H. Arndt |
Refactoring-Techniken |
C. Otto |
05.07.2013 |
J.-M. Dietrich , M. Heithoff |
Haskell: Auswertungsstrategie und Lazy Programming |
M. Brockschmidt |
05.07.2013 |
M. Bauer |
Funktionen höherer Ordnung |
M. Brockschmidt |
12.07.2013 |
J. Kliege , F. Bier |
Haskell-Typklassen, Monaden und Ein-/Ausgabe |
F. Emmes |
12.07.2013 |
D. Slotboom , D. Nemeth |
Effiziente Datenstrukturen mit Haskell |
F. Emmes |
19.07.2013 |
K. Voigt , R. Lau |
Negation als Fehlschlag und der Cut, sowie Extra-Logische Prädikate |
T. Ströder |
19.07.2013 |
T. T. Nguyen , K. Schnackenberg |
Constraint Logic Programming und Definite Clause Grammars |
T. Ströder |
Voraussetzungen zum Bestehen des Proseminars
Zum erfolgreichen Abschluss des Proseminars müssen Sie die
folgenden vier Bedingungen erfüllen:
- Sie nehmen an der Ihnen zugewiesenen Bibliotheksführung teil.
- Sie halten einen Vortrag.
- Vor dem Vortrag erstellen Sie
eine Ausarbeitung.
- Sie nehmen an allen Vorträgen teil.
Betreuer
Jeder Teilnehmer hat einen
wissenschaftlichen Mitarbeiter als Betreuer. Dieser berät Sie bei der
Bearbeitung Ihres Themas. Sie sollten Ihren Betreuer mehrfach
aufsuchen, um mit ihm Ihren Fortschritt zu besprechen. Sie sollten ihn
mindestens kontaktieren, um
- die Literatur abzuholen;
- ihm die von Ihnen gefundene Literatur zu zeigen;
- ihm den Entwurf der Struktur der Ausarbeitung zu
zeigen;
- ihm einmal eine Ausarbeitung zu zeigen; diese wird er
lesen und Ihnen anschließend Verbesserungsvorschläge machen;
- ihm die Endversion der Ausarbeitung zu geben;
- mit ihm die Struktur des Vortrags zu besprechen;
- ihm einen Entwurf der Vortragsfolien zu zeigen.
Ausarbeitung und Vortrag
Die Ausarbeitung kann mit einem beliebigen Textverarbeitungssystem
erstellt werden. Wir empfehlen allerdings LaTeX.
Rückfragen
Bei Rückfragen wenden Sie sich bitte an
Carsten Otto.