In order to judge the problem related adequacy of programming languages and operational representations it is not sufficient to know one or two programming languages more or less well. Instead, it is also important to acquire meta level concepts which allow for comparing and assessing relevant features of programming languages. To this aim, different programming paradigms are covered, as well as consideration of their implementation.

The goal of this lecture is to train the following competences: - Evaluation/judgment of programming languages - Ability to choose a programming language suitable for the problem to solve- Improvement of communication- and reflection skills during programming/implementation - Presentation/discussion of example problems in the exercises