Module Handbook

  • Dynamischer Default-Fachbereich geändert auf INF

Module INF-02-01-M-2

Foundations of Programming (M, 10.0 LP)

Module Identification

Module Number Module Name CP (Effort)
INF-02-01-M-2 Foundations of Programming 10.0 CP (300 h)


CP, Effort 10.0 CP = 300 h
Position of the semester 1 Sem. in WiSe
Level [2] Bachelor (Fundamentals)
Language [DE] German
Module Manager
Area of study [INF-PFL] Mandatory Modules
Reference course of study [INF-82.79-SG] B.Sc. Computer Science
Livecycle-State [NORM] Active


Type/SWS Course Number Title Choice in
Presence-Time /
SL SL is
required for exa.
PL CP Sem.
4V+4U INF-02-01-K-2
Foundations of Programming
P 112 h 188 h
ja PL1 10.0 WiSe
  • About [INF-02-01-K-2]: Title: "Foundations of Programming"; Presence-Time: 112 h; Self-Study: 188 h
  • About [INF-02-01-K-2]: The study achievement "[U-Schein] proof of successful participation in the exercise classes (ungraded)" must be obtained.
    • It is a prerequisite for the examination for PL1.

Examination achievement PL1

  • Form of examination: written exam (Klausur) (150-180 Min.)
  • Examination Frequency: each semester
  • Examination number: 60201 ("Foundations of Programming")

Evaluation of grades

The grade of the module examination is also the module grade.


Syntax of programming languages:
  • Concrete and abstract syntax
  • Static and dynamic semantics
  • Truth trees
  • Regular expressions and grammars
  • Lexical analysis and syntax analysis

Functional programming concepts:

  • Primitive data types
  • Records and variants
  • Declarations
  • Higher order functions
  • Parametric polymorphism

Imperative programming concepts:

  • Input and output
  • Control structures
  • References
  • Exception handling
  • Basics of memory management

Object-oriented programming:

  • Objects and classes
  • Encapsulation and access control
  • Inheritance
  • Subtype polymorphism
  • Modularisation


  • Basic search and sort algorithms
  • Data structures: lists, arrays and trees
  • Algorithmic problem solving

Correctness and termination:

  • Testing
  • Specification: invariants, pre- and post conditions
  • Induction

Competencies / intended learning achievements

Students learn the basic concepts of programming languages and acquire the skills to develop programs and to learn programming languages on their own.

After successfully completing the module, students will be able to

  • describe basic concepts of programming and software design,
  • explain the characteristics of different programming paradigms,
  • model, implement and test small to medium-sized programs using a programming language,
  • use advanced functional, imperative and object-oriented programming concepts and techniques,
  • implement fundamental algorithms and data types and use them to solve problems.


  • FANCHER, Dave. The Book of F#: Breaking Free with Managed Functional Programming. No Starch Press, 2014.
  • HANSEN, Michael R.; RISCHEL, Hans. Functional programming using F. Cambridge University Press, 2013.
  • PICKERING, Robert; DE LA MAZA, Michael. Beginning F♯. Apress, 2009.

Requirements for attendance of the module (informal)


Requirements for attendance of the module (formal)


References to Module / Module Number [INF-02-01-M-2]

Course of Study Section Choice/Obligation
[INF-82.79-SG] B.Sc. Computer Science [Compulsory Modules] Software Development [P] Compulsory
[MV-82.103-SG] B.Sc. Mechanical Engineering [Specialisation] Applied Computer Science (if chosen) [P] Compulsory
[MAT-82.105-SG] B.Sc. Mathematics [Subsidiary Topic] Subsidiary Subject (Minor) [P] Compulsory
[WIW-82.176-SG#2009] B.Sc. Business Administration and Engineering specialising in Computer Science (2009) [2009] [Fundamentals] Field of study: Computer Science [P] Compulsory
[MAT-82.276-SG] B.Sc. Business Mathematics [Core Modules (non specialised)] Computer Science and Computational Methods [P] Compulsory
[WIW-82.?-SG#2021] B.Sc. Business Administration and Engineering specialising in Computer Science (2021) [2021] [Specialisation] Field of Study: Computer Science [P] Compulsory