Meaning of the notion of type in programming languages, classification of programming languages regarding type systems, simple theoretical type models, types in imperative languages (especially Ada), theoretical models of polymorphic type systems and type inference, programming languages with polymorphic type systems, subtyping, genericity, types as partial specifications of object behariour, use of polymorphic type systems in object-oriented programming.