Software Design Patterns
Students will gain hands-on experience in the design of object-oriented software by applying design principles and design patterns. Learning the most common object-oriented software design patterns and general reusable solutions to commonly occurring problems within a given context in software design will enable students to communicate objects and classes. Each pattern is associated with an underlying object-oriented design principle, solves a specific design problem, and applies to particular a context with particular consequences of applying it; different components of the pattern collaborate with each other. Knowing how to use common design patterns will help students engineer solutions more quickly and correctly.
Prerequisite: Complete CSI-281.