Object-Oriented Programming

Undergraduate course, Mälardalen University, 2015

This course aims to provide a deep understanding of the object-oriented (OO) design of computer programs so that students utilize the related concepts in solving computer science problems.

The following concepts are included in this course:

  • The basic principles of OO design
  • Modular decomposition of the problems (Classes, objects, field, modifiers, methods, constructors, etc)
  • Inheritance and Subtype polymorphism (reusing the OO design)
  • Static and dynamic binding, method and data hiding, Static methods, Overloading
  • Advanced concepts such as generics, Delegates, Events, Exceptions, abstract classes and interfaces, Operator overloading, etc.
  • Various design patterns