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

Properties

  • 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

ECTS-Breakdown

  • 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

Lecturers

Institute

Course dates

DayTimeDateLocationDescription
Fri10:00 - 12:0003.03.2017 - 07.04.2017EI 3A Hörsaal Lecture
Advanced Object-Oriented Programming - Single appointments
DayDateTimeLocationDescription
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.

Curricula

Literature

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

Miscellaneous

Language

German