Course objective is to enable students to adopt OO design patterns in their software designs. This is achieved by discussing and demonstrating different types of design patterns; including:
1) Basic OO Design Patterns.
2) Creational OO Design Patterns.
3) Collectional OO Design Patterns.
4) Structural OO Design Patterns.
5) Behavioral OO Design Patterns.
6) Concurrency OO Design Patterns.