Advanced Design and Programming (VUE)



Time and place:

  • Mon 13:00-16:00, Room RZ 2.037

Fields of study

  • WPF INF-BA from SEM 4
  • WPF INF-MA from SEM 1
  • WPF IIS-MA from SEM 1

Prerequisites / Organizational information

  • INF-AuD


This course teaches principles and practices of advanced object-oriented design and programming.

Dieser Kurs wird auf Deutsch gehalten.

It consists of a weekly lecture with exercises, homework and self-study, totaling 4 SWS, 5 ECTS. This is a hands-on course and students should be familiar with their Java IDE.
Students learn the following concepts:


  • Method design

  • Class design

  • Classes and interfaces

  • Subtyping and inheritance

  • Implementing inheritance

  • Design by contract


  • Values vs. objects

  • Role objects

  • Type objects

  • Object creation

  • Collaboration-based design

  • Design patterns


  • Error handling

  • Meta-object protocols

  • Frameworks and components

  • Domain-driven design

  • API evolution

The running example is the photo sharing and rating software Wahlzeit, see .

Class is held as a three hour session with a short break in between. The class iterates over short lectures, discussion, and exercise chunks of 10-30min each. Students should bring a laptop with a well-working Java programming setup.

The overall schedule can be found at . Please sign up for the course on StudOn (link accessible through schedule spreadsheet) as soon as possible.

Recommended Literature

- See

Additional information

Expected participants: 50