This course introduces the principles of design patterns for Object-Oriented software systems. A catalog of design patterns is shown, to illustrate the roles of patterns in designing and contracting complex software systems. The catalog of design patterns also provides a pragmatic reference to a well-engineered set of existing patterns currently in use. Also discussed is the impact of post-object oriented software development on design patterns.
[(CS 445 with min. grade of C)]