Modulinformationssystem Informatik

 

Fortgeschrittene Programmierung URL PDF XML

Modulcode: Inf-FortProg
Englische Bezeichnung: Advanced Programming
Modulverantwortliche(r): Prof. Dr. Michael Hanus
Turnus: jedes Jahr im SS (SS10 SS11 SS12 SS13 SS14 SS15 SS16)
Präsenzzeiten: 3V 2Ü
ECTS: 7
Workload: 45 Std. Vorlesung, 30 Std. Präsenzübung, 135 Std. Selbststudium
Dauer: ein Semester
Modulkategorien: A (BSc Inf) WI (MSc WInf (15)) WI (MEd Inf) WPI (MEd Inf) IG (TA) (MSc Inf (2-Fach)) IG (SA) (MSc Inf (2-Fach)) WI (MSc WInf) GU (MSc WInf)
Lehrsprache: Deutsch
Voraussetzungen: Info

Kurzfassung:

In dieser Vorlesung 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 Studierenden kennen die Konzepte der wichtigsten Programmierparadigmen und haben die Befähigung, diese zur Lösung konkreter Programmieraufgaben effektiv einzusetzen. Sie können die Anwendung geeigneter Konzepte für gegebene Probleme einschätzen. Sie sind in der Lage, sich in neue Programmiersprachen- und Programmiersysteme einzuarbeiten und diese anzuwenden.

Lehrinhalte:

In dieser Vorlesung werden forgeschrittene Programmierkonzepte, die über die in den ersten Studiensemestern erlernte Programmierung hinausgehen, vorgestellt. Dabei wird anhand verschiedener Programmiersprachen der Umgang mit den Konzepten der wichtigsten Programmierparadigmen vermittelt. Moderne funktionale Programmierungtechniken werden am Beispiel der Sprache Haskell gezeigt. Logische und Constraint-orientierte Programmierung wird in der Sprache Prolog vermittelt. Konzepte zur nebenläufigen und verteilten Programmierung werden mit der Sprache Java vorgestellt und geübt.

Weitere Voraussetzungen:

Solide Programmierkenntnisse, insbesondere in der objektorientierten Programmierung mit Java, wie sie beispielsweise im Programmierpraktikum erworben werden können.

Prüfungsleistung:

Die Prüfung erfolgt in Form einer schriftlichen Abschlussprüfung. Sollte die Teilnehmerzahl bei der Prüfung es ermöglichen, wird die Klausur am Computer unter zu Hilfenahme der in der Vorlesung verwendeten Werkzeuge (insbesondere Compiler/Interpreter) geschrieben.

Es gibt keine Zulassungsvoraussetzungen.

Lehr- und Lernmethoden:

Verwendbarkeit:

Literatur:

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

Verweise:

Kommentar:

Studierende, die nach der alten Bachelorprüfungsordnung von 2002 studieren, können dieses Modul auch als Wahlpflichtmodul Informatik belegen.