Day 1: Object Oriented Programming, Interfaces (Protocols), Classes Day 2: Properties, Constructors, Classes, Objects Day 3: Type Polymorphism, Universal Type, Inheritance Day 4: Benefits of Object Oriented Programming Day 5: Overriding, Dynamic Dispatch