Die Informatik des Fachbereiches 3 der Universität Bremen Hier geht es zur Homepage der Verwaltung des Fachbereiches 3 der Universität Bremen Hier geht es zur Homepage der Informatik des Fachbereiches 3 der Universität Bremen Hier geht es zur Homepage der Mathematik des Fachbereiches 3 der Universität Bremen Hier geht es zur Homepage des Fachbereiches 3 der Universität Bremen Hier geht es zur Homepage der Universität Bremen
Zeige Wirtschaftsinformatik-Format Pdf_icon Digitale Medien-Format Pdf_icon Informatik-Format Pdf_icon Systems Engineering-Format Pdf_icon

System Engineering-Ansicht

Modultyp
Pflichtmodul Wahlbereich
Spezialisierungsbereich Anzahl Semesterwochenstunden CP Angeboten in jedem
V Ü S P Proj. Anzahl
Praktische Informatik 3
Funktionale Programmierung
2 2 0 0 0 4 6 angeboten in jedem WiSe
Practical Computer Science 3         Berechnung des Workloads
Vorgesehenes Semester ab 1. Semester
Lernziele

  • Konzepte und typische Merkmale des funktionalen Programmierens kennen, verstehen und anwenden können.
  • Datenstrukturen und Algorithmen in einer funktionalen Programmiersprache umsetzen und auf einfachere praktische Probleme anwenden können.
  • In Gruppen Probleme analysieren und gemeinsam Lösungsstrategien entwickeln und präsentieren können.

Die Vorlesung Praktische Informatik 3 vermittelt essenzielles Grundwissen und Basisfähigkeiten, deren Beherrschung für nahezu jede vertiefte Beschäftigung mit Informatik Voraussetzung ist.

Lerninhalte

  1. Grundlagen der funktionalen Programmierung: Rekursion – Definition von Funktionen durch rekursive Gleichungen und Mustervergleich (pattern matching) – Auswertung, Reduktion, Normalform – Funktionen höherer Ordnung, currying,Typkorrektheit und Typinferenz

  2. Typen: Algebraische Datentypen – Typkonstruktoren – Typklassen – Polymorphie – Standarddatentypen (Listen, kartesische Produkte, Lifting) und Standardfunktionen darauf (fold, map, filter) – Listenkomprehension

  3. Algorithmen und Datenstrukturen: Unendliche Listen (Ströme) – Bäume – Graphen – zyklische Datenstrukturen

  4. Strukturierung und Spezifikation: Module – Schnittstellen (Interfaces) – Abstrakte Datentypen – Signaturen und Axiome

  5. Theoretische Aspekte: Referentielle Transparenz – Lambda-Kalkül -– Beweis durch Induktion

  6. Fortgeschrittene Funktionale Programmierung: Funktionale I/O und zustandsbasierte Prorgamme – Monaden

Im Übungsbetrieb; Programmentwicklung in Haskell –– Realisierung einzelner, überschaubarer Programmieraufgaben in kleinen Gruppen

Prüfungsformen

i. d. R. Bearbeitung von Übungsaufgaben und Klausur

Dokumente (Skripte, Programme, Literatur, usw.)

  • Simon Thompson: Haskell - The Craft of Functional Programming, Addison-Wesley, 3. Auflage 2011.
  • Peter Pepper: Funktionale Programmierung. Springer-Verlag 1999.

Weiteres Lehrmaterial ist auf der Webseite des Veranstaltung zu finden:

  • Folienkopien
  • Übungsaufgaben
  • Hinweise auf Quellen im WWW

Das Haskell-System ghci ist frei verfügbare Software (für Linux, Windows und MacOS).

Lehrende: Dr. B. Hoffmann, Prof. Dr. C. Lüth Verantwortlich: Dr. B. Hoffmann
Zurück

Zeige Wirtschaftsinformatik-Format Pdf_icon Digitale Medien-Format Pdf_icon Informatik-Format Pdf_icon Systems Engineering-Format Pdf_icon