Programming
In this course we teach the basics of multiple different programming languages. We give a short introduction into the difference between imperative (object-oriented or procedural) and declarative (logical or functional) programming languages. For imperative programming we consider the programming language Java. Moreover, we present the basics of Haskell (a functional programming language) and prolog (a logical programming language). Finally, we introduce the concept of verification of algorithms and consider the Hoare-calculus.