Module Import 04IN1023 - Introduction to functional programming

Status: Published
Workload6 ECTS = 180 hrs
Credits, Weight6 ECTS, (n.s.)
Language of Instruction German or English
Semester (n.s.)
Duration1 Sem.
M/E Elective
Courses
Course No. Type Name MA/EL Workload Credits Contact Hours Selfstudy Group Size
04IN1023-1 Lecture Introduction to functional programming (n.s.) 3 ECTS = 90 hrs - 2 hrs/week = 30 hrs 60 hrs (n.s.)
04IN1023-2 Exercise Introduction to functional programming (n.s.) 3 ECTS = 90 hrs - 2 hrs/week = 30 hrs 60 hrs (n.s.)
Learning Outcomes

Die Studierenden beherrschen das Paradigma der funktionalen Programmierung und eine entsprechende Programmiersprache wie etwa Haskell, Scheme, F# oder die funktionale Teilmenge von Scala. Die Studierenden können einfache algorithmische Probleme und Datenstrukturen funktional modellieren und können dabei Funktionen höherer Ordnung und Typkonstruktoren wie etwa Funktoren, Monaden und Monoiden einsetzen. Die Studierenden kennen typische Szenarien der funktionalen Programmierung etwa im Kontext der Daten-/Web- oder parallelen Programmierung.

Content

(not specified)

04IN1023-1 - Introduction to functional programming
  1. Einführung und Motivation
  2. Algebraische Datentypen
  3. Abstrakte Datentypen
  4. Typkonstruktoren
  5. Anonyme Funktionen
  6. Funktionen höherer Ordnung
  7. Monoiden
  8. Funktoren
  9. Monaden
  10. Gleichungsbasiertes Schließen
  11. Bibliotheken von Kombinatoren
  12. Anwendungen der funktionalen Programmierung
Teaching Methods

(not specified)

Prerequisites

(not specified)

Examination Methods

Klausur

Credit Requirements

(not specified)

References

(not specified)

04IN1023-1 - Introduction to functional programming

Graham Hutton: Programming in Haskell. Cambridge University Press. 2007

Simon Thompson: Haskell: The Craft of Functional Programming (3rd Edition). Addison-Wesley. 2011

Responsible / Organizational Unit
Lämmel, Ralf / Institute for Computer Science
Additional Information

(not specified)

Last change
Apr 24, 2018 by Frey, Johannes
Last Change Module
May 3, 2012 by Frey, Johannes