Lecture Mathematical Fundamentals of Theoretical Computer Science given by Prof. Dr. Sebastian Iwanowski

German website

study programs: Bachelor of Computer Science (B_Inf), Computer Engineering (B_Tinf), Media Computer Science (B_Minf), Business and Computer Science (B_Winf), 1st semester

ECTS credits: 2

lecture term: summer and winter semester

prerequesites: precalculus mathematics of secondary school 

language: This lecture is always given in German (sorry!)

 

focus of this lecture

This lecture covers the theoretical fundamentals for the programming courses in all study programs of computer science. There are redundancies to the first programming course and to the lecture Discrete Mathematics which are inevitable for the sake of a self-contained lecture.

The only focus of this lecture is on formal logic and verification of programs. Other important concepts of theoretical computer science such as algorithms and complexity are covered in a subsequent course called Automata ans Formal Languages which is given by my colleague Prof. Lang. Practical and technical issues of algorithmics are covered in the programming courses and in the lecture Algorithms and Data Structures in C given by my colleague Prof. Schmidt.

Theoretical homework exercises are integrated in this lecture.

 

 

content of teaching

The material covered is summarized in German slides published on the German website of this lecture. 

 

Motivation for the need of theoretical analysis in computer science

1. Formal logics

    1.1 Propositional logic

    1.2 Predicate logic

2. Verification techniques

    2.1 Verification with Hoare triples

    2.2 Verification of branches

    2.3 Verification of loops

    2.4 Verification of recursive procedures