Main content

CS 310L — Concepts of Programming Languages for Pre-Service-Teachers
(dt. Deklarative Programmierung für Lehramt an Gymnasien-Studierende)

Level, degree of commitment Basic module, depends on importing study program
Forms of teaching and learning,
Lecture (4 SWS), recitation classen and seminar (2 SWS),
270 hours (attendance in den Lehrveranstaltungen 90 h, preparation and follow-up inklusive Studienleistungen 150 h, Vorbereitung and Ablegen von Prüfungsleistungen 30 h)
Credit points,
formal requirements
9 CP
Course requirement(s): A) with seminar: 1) Weekly exercises 2) Presentation of at least two exercises 3) Presentation, approx. 30 minutes in the seminar on school-related topics of the lecture with regard to the implementation in the senior high school level in the seminar or B) with 'Schnittstellenübungen': 1) Weekly exercises 2) Presentation of at least two exercises 3) Exercises in the interface exercises 4) Presentation of at least one exercise in the 'Schnittstellenübung': If a seminar A) is completed, the successful completion of at least 40 % of the exercises in coursework 1), otherwise B) the successful completion of at least 50 % of the exercises in the 'Schnittstellenübung' in coursework 1) and 3) is a prerequisite for admission to the module examination.
Examination type: Written examination (120 min.)
The grading is done with 0 to 15 points according to the examination regulations for the degree program LAaG Computer Science. In the event of failure, a total of 4 attempts are available for the examination.
Origin LAaG Computer Science
One semester,
each summer semester
Person in charge of the module's outline Prof. Dr. Christoph Bockisch


1. basic concepts, programming methodology, formal foundations, i.e. recursive function equations, 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

2. didactic preparation of the material for school lessons

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,
  • Students know and understand the basic terms, concepts and methods, are able to apply them and make references to their use in the classroom.




The module can be attended at FB12 in study program(s)

  • LAaG Computer Science

When studying LAaG Computer Science, this module must be completed in the study area Basic Modules.

Recommended Reading

(not specified)

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:

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.