Fortgeschrittene Programmierung
WS 17/18
M.Sc. Finn Teegen, Prof. Dr. Michael Hanus und Jan Tikovsky
Aktuelles
- 23.10.2017: Anmeldung in der StudiDB freigeschaltet.
Termine
Vorlesung (vom 23.10.2017 bis zum 6.2.2018)
- Montag, 10:15 - 11:45 Uhr in CAP3 - Hörsaal 2
- Dienstag, 14:15 - 15:45 Uhr in CAP3 - Hörsaal 2
Übungen (vom 25.10.2017 bis zum 8.2.2018)
- Mittwoch, 10:00 - 11:30 Uhr in LMS2 - R.Ü1 (Finn)
- Mittwoch, 16:00 - 17:30 Uhr in LMS2 - R.Ü3 (Jan)
- Donnerstag, 8:30 - 10:00 Uhr in LMS2 - R.Ü3 (Sandra)
- Donnerstag, 10:15 - 11:45 Uhr in LMS2 - R.Ü3 (Sandra)
- Donnerstag, 10:15 - 11:45 Uhr in CAP4 - R.1304a (Finn)
Rechnerzeit (vom 9.11.2017 bis zum 8.2.2018)
- Donnerstag, 15:00 - 17:00 Uhr in HRS3 - R.501-503
Sprechzeiten
- Donnerstag, 13:30 - 14:30 Uhr in CAP4 - R.701 (Jan)
- Freitag, 14:00 - 15:00 Uhr in CAP4 - R.701 (Finn)
Praktikum (vom 26.2.2018 bis zum 9.3.2018)
- siehe separate Veranstaltung
Klausur (1. Prüfungszeitraum, 14.3.2018)
- Mittwoch, 14:00 - 17:00 Uhr in der OS75 - Hörsäle 1, 2 und 3
Klausur (2. Prüfungszeitraum, 6.4.2018)
- Freitag, 12:00 - 15:00 Uhr in OHP5 - Chemie I
Weitere organisatorische Informationen sowie eine Literaturliste finden Sie im UnivIS oder auf der Veranstaltungsseite des Lehrstuhls.
Vorlesung
Zur Vorlesung existiert ein Skript (nur innerhalb der CAU abrufbar), welches parallel zur Vorlesung überarbeitet wird. Dieses Skript beinhaltet den ungefähren Vorlesungsverlauf, weswegen neben dem Lesen des Skripts auch immer die Vorlesung besucht werden sollte, um über den aktuellen Stand informiert zu sein.
Die in der Vorlesung behandelten Programmiersprachen sind auf den Institutsrechnern vorinstalliert. Im Internet sind auch freie Implementierungen von Haskell, Java sowie Prolog verfügbar.
Auf der Seite der Vorlesung können Sie sich weitere Materialien wie die in der Vorlesung entwickelten Programme herunterladen.
Hinweise zur Verwendung von Haskell
Sie sind dazu angehalten, den folgenden Style-Guide beim Entwickeln von Haskell-Programmen zu befolgen.
Der in der Vorlesung verwendete Haskell Mode für den Editor Emacs kann recht einfach installiert werden, wobei man natürlich den Text-Editor Emacs schon kennen sollte.
Hinweise zur Verwendung von Prolog
Um einen leichteren Einstieg in Prolog zu gewährleisten, wird in der Vorlesung zunächst eine Erweiterung für SWI-Prolog verwendet, die eine bessere Suchstrategie implementiert. Hierzu gibt es zwei Möglichkeiten (unter der Voraussetzung, das SWI-Prolog installiert ist und durch den Aufruf swipl
gestartet werden kann):
- Für Unix/Linux: Man kopiere dieses Bash-Skript in ein
bin
-Verzeichnis, das im eigenen Pfad liegt. Dann kann man durch das Kommandofortprog-swipl
das erweiterte SWI-Prolog-System aufrufen. Alternativ kann man das Bash-Skript auch in das Verzeichnis legen, wo die Prolog-Programme sind, und dann das SWI-Prolog-System mit dem Kommando./fortprog-swipl
aufrufen. - Für andere Systeme: Man kopiere dieses Prolog-Programm in das Verzeichnis, wo sich die Prolog-Programme befinden, und starte das SWI-Prolog-System mit dem Kommando
swipl -q -s fortprog
.
Nach dem wie oben beschriebenen Start von SWI-Prolog kann man sein eigenes Programm wie gewohnt mit [myprog].
laden und ausprobieren. Zu beachten ist, dass bei Benutzung dieser Erweiterung die Prolog-Programme keine Negation oder Cuts enthalten und auch keine anderen Module importieren dürfen, was aber am Anfang ohnehin nicht der Fall sein wird.
Übungen
Bitte tragen Sie sich zunächst in der StudiDB ein. Die Anmeldung wird nach der ersten Vorlesungsstunde freigeschaltet. Sobald die Anmeldung in der StudiDB erfolgt ist, können Sie sich hier im iLearn in eine der Übungsgruppen eintragen. Anschließend sollen Sie sich dann innerhalb der Übungsgruppen zu Zweiergruppen zusammenfinden.
Der in den allen Übungen gemeinsam erarbeitete Code zu den Präsenzaufgaben ist in einem Git-Repository zu finden. Die Bearbeitung der restlichen Übungsaufgaben erfolgt in eben jenen Zweiergruppen, Einzelabgaben sind nach Möglichkeit zu vermeiden. Ihre Abgaben werden korrigiert und Musterlösungen nach der Abgabefrist bereitgestellt.
Rechnerzeit
In diesem Semester wird wöchentlich eine Rechnerzeit angeboten, in der studentische Hilfskräfte bereitstehen, um Ihnen bei der Bearbeitung der Übungsaufgabe zu helfen und ggf. Fragen zu beantworten.
Sprechzeiten
Alle Übungsleiter bieten eine Sprechstunde an, in der Fragen zu der Vorlesung oder den Übungen geklärt werden können.
Praktikum
Alle notwendigen Informationen zum Praktikum werden bei einer Vorbesprechung am 26. Februar bekannt gegeben. Für das Praktikum wird es eine separate Veranstaltung hier im iLearn geben, für die Sie sich nach der Vorbesprechung anmelden können und über die Sie Zugriff auf die Aufgaben erhalten.
Klausur
Als Hilfsmittel ist in der Klausur ein beidseitig handschriftlich beschriebenes Blatt erlaubt.