A survey of programming language tools supporting object oriented programming: data abstraction - class - module; constructors and destructors; levels of visibility (public, protected, private); single, multiple and repeated inheritance; polymorphism, virtual methods. The languages referred to are: Simula-67, Smalltalk-80, CLU, object oriented extensions of Turbo Pascal and Modula-2,
C++.Current trends in development of high level programming languages. In the first part of the semester the topic is the Eiffel object oriented programming language. In the second part the students form independent small groups and deliver lectures on various programming languages - e.g. Oberon, Objective-C, Perl, Modula-3, ADA95, Trellis, Beta, Miranda. The choice of the languages depends on the actual papers.