Main content
CS 310 — Declarative Programming
(dt. Deklarative Programmierung)
Level, degree of commitment | 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(s): 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 the degree program B.Sc. Computer Science. |
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. reduction semantics/reduction strategies),
- Algebraic Data Structures,
- Pattern Matching,
- Polymorphic type systems,
- Type Inference,
- Higher order functions,
- Interactive input/output,
- Proof of program properties (equational reasoning, induction techniques),
- Lambda calculus
Qualification Goals
Students will
- know a declarative programming language,
- can recognize and apply abstraction in program development,
- can distinguish between different programming paradigms and their areas of application,
- have knowledge of testing and verification of programs,
- know the mathematical basics of declarative programming,
- are able to follow scientific working methods (recognizing, formulating, solving problems, training the ability of abstraction),
- are able to speak freely about scientific content, both in front of an audience and in a discussion.
Prerequisites
None.
Applicability
The module can be attended at FB12 in study program(s)
- B.Sc. Data Science
- B.Sc. Computer Science
- B.Sc. Mathematics
- B.Sc. Business Mathematics
- M.Sc. Mathematics
- BA Minor Computer Science
When studying B.Sc. Computer Science, this module must be completed in the study area Basic Modules in Computer Science.
The module can also be used in other study programs (export module).
Recommended Reading
- M. Felleisen, R. B. Findler, M. Flatt, S. Krishnamurthi: How to Design Programs, Second Edition, MIT Press 2014
- 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 Winter semester 2023/24. 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:
- Winter 2016/17
- Summer 2018
- Winter 2018/19
- Winter 2019/20
- Winter 2020/21
- Summer 2021
- Winter 2021/22
- Winter 2022/23
- Winter 2023/24
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.