Instructors: Walter Binder
Academic Programs: Master of Science in Informatics
Workload: 6 ECTS
This course teaches concepts and methods of object-oriented programming that help create complex software systems that are maintainable, reusable, and extensible. It covers principles of object-oriented programming and design, inclusion polymorphism, dynamic binding, single and multiple dispatch, parametric polymorphism, design by contract, UML, design patterns, modularization and aspect-oriented programming, as well as functional programming. These concepts are explained in the context of the Java programming language.