Computer Science

CS4015Software Architecture and Design Patterns (Cross-Listed: SWE 4403)4 ch (3C 2L) (P)

Develop a deep understanding of software architecture and design patterns and strengthen skills to design, evaluate, and improve software architectures using industry best practices. Apply object-oriented programming principles to create reusable and maintainable software. Practice using creational, structural, and behavioral design patterns to design flexible, scalable, and maintainable software solutions. Analyze architectural quality attributes and design tactics to balance trade-offs between performance, scalability, maintainability, security, and other key system properties. Assess and reconstruct software architectures, evaluate software product lines, and develop effective documentation to communicate architectural decisions.

PrerequisiteCS 2043