COMP 3650 Object Oriented Software Design

This course explores strategies for modeling problems using object-oriented techniques, as well as applying design patterns in project architecture, in a way that they are easy to maintain across the product lifetime. The following topics are covered in this course: Java syntax and constructs to support object-oriented programming, such as abstract classes, interfaces, public, private and protected; design principles, such as DRY (don t repeat yourself) and the open-closed principle; and many design patterns such as Twin, Observer, Iterator, Decorator, Builder, Composite, Factory, Factory Method, Abstract Factory, Singleton, Command, Adapter, Facade, State, Proxy, Prototype, Flyweight, and Chain of Responsibility. Prerequisite(s): COMP 1300.

Credits

3