CSE 4361/CSE 5322 Software Design Patterns

Software design patterns are proven design solutions to commonly encountered design problems. Patterns are

design abstractions that improve team communication and team collaboration. Patterns also empower less

experienced developers to produce high quality designs that are easy to implement, easy to test and easy to maintain.

CSE4361/CSE5322 features an in-depth study of more than twenty design patterns through case studies. The case studies teach design patterns by showing how patterns are applied to solve design problems. The case studies also compare the applications of patterns with conventional solutions to highlight the benefits of patterns.

Each student works in a project team of five students or so to perform analysis, design, and implementation of a part of a software system. Each team is required to apply at least ten patterns in the project.

Sample syllabus for CSE 4361/CSE 5322.