185.211 Advanced Object-Oriented Programming
This course is in all assigned curricula part of the STEOP.
This course is in at least 1 assigned curriculum part of the STEOP.

2017S, VU, 2.0h, 3.0EC, to be held in blocked form


  • Semester hours: 2.0
  • Credits: 3.0
  • Type: VU Lecture and Exercise

Aim of course

Participants become acquainted with advanced techniques in object-oriented programming and learn to distinguish between promising and dangerous uses of these techniques. Furthermore, partitipants learn how to bypass shortcomings of current programming languages by applying appropriate programming techniques.

Subject of course

We deal among others with the following topics on the basis of several object-oriented programming languages (Java, C# or C++ as well as Eiffel and Smalltalk):

  • Names as means of abstraction
  • circumvention of name conflicts
  • substitutability versus genericity
  • how to handle covariant problems and parallel class hierarchies
  • implementation of object-oriented languages
  • selected software design patterns

Didactic approach:

In a lecture we discuss the foundations. Then, participants solve three programming assignments (one of them in Eiffel and one in Smalltalk) in small groups to internalize the matter. In addition to the specified subject of the course we also discuss some aspects of the topic proposed by the participants.

Additional information


  • 0.6 ECTS: Lectures and aquiring the covered topics
  • 0.4 ECTS: Exam and preparation for exam
  • 1.8 ECTS: Programming assignments
  • 0.2 ECTS: Review meeting and preparation therefore



Course dates

Fri10:00 - 12:0003.03.2017 - 07.04.2017EI 3A Hörsaal Lecture
Advanced Object-Oriented Programming - Single appointments
Fri03.03.201710:00 - 12:00EI 3A Hörsaal Lecture
Fri10.03.201710:00 - 12:00EI 3A Hörsaal Lecture
Fri17.03.201710:00 - 12:00EI 3A Hörsaal Lecture
Fri24.03.201710:00 - 12:00EI 3A Hörsaal Lecture
Fri31.03.201710:00 - 12:00EI 3A Hörsaal Lecture
Fri07.04.201710:00 - 12:00EI 3A Hörsaal Lecture
Course is held blocked

Examination modalities

Review of the solutions of the programming assignments and an oral exam. We discuss the solutions of the programming assignments in a review meeting which has to take place in June at latest. Afterwards, an oral exam (to be taken until January at latest) scans the knowledge of the matter imparted in the lecture. The ratings of the review meeting and the oral exam contribute with the same value to the total rating; however, both ratings must be positive for a positive total rating. It is possible to repeat the review meeting as well as the oral exam at most once within the given time frame if a corresponding rating is negative.

Course registration

Begin End Deregistration end
01.03.2017 00:00 10.03.2017 23:59

Registration modalities

In the lecture on March 11 we build teams for the exercises. Please don't miss this lecture. Your participation in the course can be confirmed only if you are a member of an exercise team.



No lecture notes are available.

Previous knowledge

  • good knowledge of object-oriented programming in Java, C#, C++ or similar languages
  • experience in the handling of substitutability (subtyping) and genericity
  • knowledge of Design by Contract and the usage of software design patterns
  • individual practical programming experience