CS2333 Funktionale Programmierung

Modulverantwortliche
  • Prof. Dr. Uwe Meyer
Lehrende
  • Björn Lötters
  • Prof. Dr. Uwe Meyer
  • Norman Ulbrich
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

  • Sie 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. 2012)
  • Informatik (B.Sc. 2010)
  • Ingenieur-Informatik (B.Sc. 2010)
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: Projekt oder Hausübungen (Art und Umfang der Vorleistungen wird den Studierenden zu Beginn der Veranstaltung 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