Main content
Declarative Programming
(dt. Deklarative Programmierung)
Level, degree of commitment in original study programme | Basic module, required module |
Forms of teaching and learning, workload |
Lecture (4 SWS), recitation class (2 SWS), 270 hours (90 h attendance, 180 h private study) |
Credit points, formal requirements |
9 CP Course requirement: Successful completion of at least 50 percent of the points from the weekly exercises as well as at least 2 presentations of the tasks. Examination type: Written examination |
Language, Grading |
German,The grading is done with 0 to 15 points according to the examination regulations for study course B.Sc. Computer Sciences. |
Original study programme | B.Sc. Informatik / Informatik Basismodule |
Duration, frequency |
One semester, each summer semester |
Person in charge of the module's outline | Prof. Dr. Christoph Bockisch |
Contents
Introduction to declarative programming: basic concepts, programming methodology, formal foundations, i.e. recursive functional equations, reduction semantics/reduction strategies, algebraic data structures, pattern matching, polymorphic type systems, type inference, higher-order functions, interactive input/output, detection of program properties (equational reasoning, induction techniques), lambda calculus
Qualification Goals
- Learning a declarative programming language,
- Recognition and application of abstraction in program development,
- Differentiate between different programming paradigms and their application areas,
- Knowledge in testing and verification of programs,
- Mathematical foundations of declarative programming,
- Practice of scientific working methods (recognition, formulation, solving problems, training of abstraction skills),
- Training of oral communication skills in the exercises by practicing free speech in front of an audience and during discussion.
Prerequisites
None.
Recommended Reading
- Richard Bird: Thinking Functionally with Haskell, Cambridge University Press, Dec. 2014
- S. Thompson: Haskell – The Craft of Functional Programming, Addison-Wesley 1999;
- bzw.
- M. Felleisen, R. B. Findler, M. Flatt, S. Krishnamurthi: How to Design Programs, Second Edition, MIT Press 2014
- bzw.
- L.Sterling, E.Shapiro: The Art of Prolog, MIT Press 1994
- Weitere Literatur wird in der Veranstaltung bekanntgegeben.
Please note:
This page describes a module according to the latest valid module guide in Wintersemester 2019/20. Most rules valid for a module are not covered by the examination regulations and can therefore be updated on a semesterly basis. The following versions are available in the online module guide:
- WiSe 2016/17 (no corresponding element)
- SoSe 2018 (no corresponding element)
- WiSe 2018/19
- WiSe 2019/20
- WiSe 2020/21
- SoSe 2021
- WiSe 2021/22
- WiSe 2022/23
The module guide contains all modules, independent of the current event offer. Please compare the current course catalogue in Marvin.
The information in this online module guide was created automatically. Legally binding is only the information in the examination regulations (Prüfungsordnung). If you notice any discrepancies or errors, we would be grateful for any advice.