SWE 6853 Design Patterns
Prerequisite: SWE 6623 and CS 5183; SWE 6743 Recommended
This course builds upon basic object-oriented concepts to discover principles of good object-oriented design through the application of design patterns. The focus is on the issues and means of designing software systems for reuse, extension, and maintainability including how to leverage the powers of object-orientation embodied in well-known heuristics, principles and patterns in the design and construction of reusable systems. This course will emphasize that designing reusable systems requires anticipating requirements changes and the application of design patterns will help ensure system mutability. The course includes a major project in which the students will gain hands-on experience with design patterns.