Modulinformationssystem Informatik

 

Fortgeschrittene Programmierung URL PDF XML

Modulcode: Inf-FortProg8
Englische Bezeichnung: Advanced Programming
Modulverantwortliche(r): Prof. Dr. Michael Hanus
Turnus: jedes Jahr im WS (WS17/18 WS18/19 WS19/20 WS20/21 WS21/22)
Präsenzzeiten: 4V 2Ü
ECTS: 8
Workload: 60 Std. Vorlesung, 30 Std. Präsenzübung, 150 Std. Selbststudium
Dauer: ein Semester
Modulkategorien: 2F-MA Inf WP (2F-MA Inf)
Lehrsprache: Deutsch
Voraussetzungen: Info Inf-ProgOO

Kurzfassung:

In diesem Modul werden fortgeschrittene Programmierkonzepte vorgestellt. Dabei wird der Umgang mit den Konzepten der wichtigsten Programmierparadigmen, d.h. funktionale, logische, Constraint-orientierte, nebenläufige und verteilte Programmierung, geübt.

Lernziele:

  • Die wichtigsten Programmierparadigmen erklären.
  • Geeignete Programmierkonzepte zur Lösung von Programmieraufgaben auswählen und letztere mit ersteren lösen.
  • Sich in neue Programmiersprachen- und Programmiersysteme einarbeiten und diese bei der Softwareentwicklung einsetzen.

Lehrinhalte:

  • Nebenläufige und verteilte Programmierung mit Java
  • Funktionale Programmierung mit Haskell
  • Logische und constraint-orientierte Programmierung mit Prolog

Weitere Voraussetzungen:

Solide Programmierkenntnisse, insbesondere in der objektorientierten Programmierung mit Java, wie sie beispielsweise in der einführenden Programmierungsvorlesung erworben werden können.

Prüfungsleistung:

Am Ende der Vorlesung findet nach dem Praktikum eine schriftliche Abschlussprüfung statt. Voraussetzung zur Zulassung zur Klausur ist die regelmäßige Bearbeitung der Übungsaufgaben. Für jede Übungsaufgabe wird festgehalten, ob diese sinnvoll bearbeitet wurde ("Sinnpunkte"). Für die Zulassung zur Klausur müssen in jedem der drei Bereiche nebenläufige/verteile Programmierung, funktionale Programmierung und logische Programmierung mindestens 50% der Sinnpunkte erreicht werden.

Lehr- und Lernmethoden:

Tafelanschrieb und Live-Programmierung während der Vorlesung, d.h. Entwicklung der Programme am Laptop. Die Programme werden jeweils am Ende der Vorlesung über die Webseite den Studierenden zur Verfügung gestellt. Erstellung kleinerer Programme durch die Studierenden in den Übungen.

Verwendbarkeit:

Literatur:

  • D. Lea: Concurrent Programming in Java, 2nd Ed., Addison Wesley, Boston, 2000
  • P. Hyde: Java Thread Programming, Sams Publishing, Indianapolis, IN, 1999
  • S. Thompson: Haskell - The Craft of Functional Programming, Addison-Wesley, 1996
  • G. Hutton: Programming in Haskell, 2nd Ed., Cambridge University Press, 2016
  • L. Sterling, E. Shapiro: The Art of Prolog, 2nd Ed., MIT Press, 1994
  • T. Frühwirth, S. Abdennadher: Constraint-Programmierung, Springer, 1997

Verweise:

Kommentar: