This course presents the basic techniques needed to develop algorithms and to show their correctness using formal proofs. Algorithms and data structures for sorting, hashing, searching and graphs will be explained and their correctness will be proved.
Exercise sheets will be published weekly and discussed in the tutorials. The students are encouraged to participate in the tutorials to deepen their understanding in the lecture's topics.