INF2517 Funktionale Programmierung

Modulverantwortliche
  • Prof. Dr. Uwe Meyer
Lehrende
  • Björn Lötters
  • Prof. Dr. Uwe Meyer
Notwendige Voraussetzungen zur Teilnahme

Für Bachelor Applied Data Science:

Keine

Für Bachelor Informatik, Bachelor Ingenieur-Informatik, Bachelor Bioinformatik:

INF1004 Programmieren 2,

INF1008 Theoretische Informatik 2

Empfohlene Voraussetzungen zur Teilnahme

Keine

Kurzbeschreibung

Das Modul vermittelt die theoretischen Konzepte funktionaler Programmierung. Die Studierenden lernen diese auf praxisnahe Softwareprojekte anzuwenden.

Inhalte
  • Lambda-Kalkül
  • Closures
  • Currying
  • Funktionen höherer Ordnung
  • Referenzielle Transparenz
  • Generatoren/unendliche Streams
  • je nach Dozent werden unterschiedliche funktionale Sprachen eingesetzt, z.B. Scheme, Scala, Clojure Haskell, etc.
Qualifikations- und Lernziele

Fachkompetenzen

  • Die Studierenden können die Konzepte einer funktionalen Programmiersprache erklären.

Methodenkompetenzen (fachlich & überfachlich)

  • Die Studierenden sind in der Lage, das Paradigma der funktionalen Programmierung auf eigene Softwareprojekte anzuwenden.
  • Die Studierenden sind fähig, komplexe Probleme zu zerlegen, funktional auszudrücken und Lösungen zu validieren.

Sozialkompetenzen

  • Die Studierenden können im Team kooperativ ein Softwareprojekt umsetzen.

Selbstkompetenzen

  • Die Studierenden können den theoretischen Hintergrund beschreiben und können das Gelernte auf andere Sprachen übertragen.
ECTS-Leistungspunkte (CrP)
  • 6 CrP
  • Arbeitsaufwand 180 Std.
  • Präsenzzeit 60 Std.
  • Selbststudium 120 Std.
Lehr- und Lernformen
  • 4 SWS
  • Vorlesung 2 SWS
  • Übung 2 SWS
Studiensemester
  • Bioinformatik (B.Sc. 2022)
  • Informatik (B.Sc. 2022)
  • Ingenieur-Informatik (B.Sc. 2022)
Dauer
1 Semester
Häufigkeit des Angebots
Einmal im Jahr
Unterrichtssprache
Deutsch
Bonuspunkte

Ja

Bonuspunkte werden gemäß § 9 (4) der Allgemeinen Bestimmungen vergeben. Art und Weise der Zusatzleistungen wird den Studierenden zu Veranstaltungsbeginn rechtzeitig und in geeigneter Art und Weise mitgeteilt.

Prüfungsleistungen

Prüfungsvorleistung:

Hausübungen

(Anzahl wird den Studierenden rechtzeitig und in geeigneter Weise bekannt gegeben.)

Prüfungsleistung:

Klausur, mündliche Prüfung oder Projekt

(Art des Leistungsnachweises wird den Studierenden rechtzeitig und in geeigneter Weise bekannt gegeben.)

Benotung
Die Bewertung des Moduls erfolgt gemäß §§ 9, ggf. 12 (Teilleistungen), ggf. 18 (Arbeiten, Kolloquien) der Allgemeinen Bestimmungen (Teil I der Prüfungsordnung).
Verwendbarkeit
Gemäß § 5 der Allgemeinen Bestimmungen (Teil I der Prüfungsordnung) Verwendbarkeit in allen Bachelorstudiengänge der THM möglich.
Literatur, Medien
  • Bird, R.; Wadler, P.: Einführung in die funktionale Programmierung. Hanser Verlag.
  • O’Sullivan, B.: Real world Haskell. O’Reilly.
  • Piepmeyer, L.: Grundkurs funktionale Programmierung mit Scala. Hanser.
  • Odersky, M.: Programming in Scala. Artima.
  • Bird, R.; Scruggs, T. E.; Mastropieri, M. A.: Introduction to Functional Programming. Prentice Hall.
  • Halloway, S.; Bedra, A.: Programming Clojure. O’Reilly.
  • Kamphausen, S.; Kaiser, T. O.: Clojure. dpunkt.verlag.

Rechtliche Hinweise