This course consists of both lectures and exercises, teaching the following topics:
- Object-oriented programming concepts
- Types and subtypes
- From design to programming
- Patterns in object-oriented programming
- Testing (of object-oriented programs)
These topics require knowledge and skills of procedural programming. Hence, we strongly recommend to successfully pass Programmieren 1, before attending this course.