Foundations of program and system development

Module IN2078

This Module is offered by TUM Department of Informatics.

This module handbook serves to describe contents, learning outcome, methods and examination type as well as linking to current dates for courses and module examination in the respective sections.

Basic Information

IN2078 is a semester module in German language at Bachelor’s level und Master’s level which is offered in winter semester.

This Module is included in the following catalogues within the study programs in physics.

  • Catalogue of non-physics elective courses
Total workloadContact hoursCredits (ECTS)
180 h 75 h 6 CP

Content, Learning Outcome and Preconditions


System and program development cover all activities to build software and/or programs - seen as descriptions of data and algorithms in a formal language - to define an application and task-oriented software solution. One of the large difficulties of program development is founded in the precise and unambiguous description and documentation of the program based on the associated description media, underlying models, theories, structures, decisions and the used ideas. The lecture presents the scientific base, and thus logical and mathematical founding of the concepts, models and methods arising with it. Beside these models and description media a methodical framework is necessary - development rules for the execution of design steps as well as a concept for the systematic program development. In the lecture only individual development steps are treated and the main focus is given by the methodical and description-technical foundation in software engineering. Topics are - Data modelling: Abstract description of data structures ++ Signatures, algebras, models and description media ++ Axiomatic descriptions ++ Data type declarations and object model ++ Change of the data structure; stepwise development of data - Modelling of program specifications and algorithms: ++ Functional programming: specification, refinement and verification ++ Procedure-oriented programming: specification, assumptions, Hoare-rules ++ Predicative specification, stepwise refinement, verification ++ Network structures ++ Sequential OO-programs and their specification

Learning Outcome

At the end of the module students know the essential fundamental terms of specification, modular design, abstraction, refinement, and verification techniques as well as functional and imperative programming. Students have a deep understanding in modeling of data structure, algebras, program specifications and algorithms. They obtain methods competence in the field of systematic, formal development of programs.


Modul IN0001: Introduction to Informatics 1; Modul IN0003: Introduction to Informatics 2; Modul IN0007: Fundamentals of Algorithms and Data Structures (recommended)

Courses, Learning and Teaching Methods and Literature

Courses and Schedule

VU 5 Grundlagen der Programm- und Systementwicklung (IN2078) Dienstag, 09:45–12:15
Freitag, 10:00–12:00

Learning and Teaching Methods

Vorlesung, Übungen


Folien in der Vorlesung; Tafel in den Übungen.


- M. Broy, R. Steinbrüggen. Modellbildung in der Informatik. Springer, 2003. - E. W. Dijkstra. A Discipline of Programming. Prentice-Hall, 1976. - M.A. Jackson. Software Requirements & Specification - a Lexicon of Practice, Principles and Prejudices. Addison-Wesley, 1995. - B. Meyer. Objektorientierte Softwareentwicklung. Hanser/Prentice-Hall, 1990. - F.L. Bauer und H. Wܚssner. Algorithmische Sprache und Programmentwicklung. Springer, 1981. - N. Wirth. Algorithmen und Datenstrukturen. 3. Aufl. Teubner, 1983. - R. Bird and P. Wadler. Introduction to Functional Programming. Prentice-Hall, 1988. - K.R. Apt und E.R. Olderog. Programmverifikation. Springer, 1994.

Module Exam

Description of exams and course work

In the written exam students should prove to be able to identify a given problem and find solutions within limited time.

Exam Repetition

There is a possibility to take the exam at the end of the semester.

Condensed Matter

When atoms interact things can get interesting. Fundamental research on the underlying properties of materials and nanostructures and exploration of the potential they provide for applications.

Nuclei, Particles, Astrophysics

A journey of discovery to understanding our world at the subatomic scale, from the nuclei inside atoms down to the most elementary building blocks of matter. Are you ready for the adventure?


Biological systems, from proteins to living cells and organisms, obey physical principles. Our research groups in biophysics shape one of Germany's largest scientific clusters in this area.