CSC 406
Design Patterns
West Chester University of Pennsylvania · UGRD · Fall 2026
Catalog description
This course introduces essential software design patterns and principles, focusing on building maintainable and scalable systems using Java. Topics include general program design principles, the Unified Modeling Language (UML), and object-oriented design principles such as SOLID. Students will learn software refactoring techniques, including both primitive and composite methods, to improve code quality and maintainability. Key patterns—such as delegate, library, and layering design patterns—will be explored, along with concepts of software product lines for managing product variability. Additional advanced topics include Java reflection and meta-programming, static software analysis, and the use of UML to visualize system architecture. By the end of the course, students will be able to design flexible, reusable, and efficient software systems that follow best practices for maintainability and scalability. Assignments and exams will assess both theoretical understanding and practical application of the course material.
Sections
Current meeting, instructor, credit, and enrollment details
001
Availability not recently verified- Days & times
- No scheduled meeting time
- Meeting dates
- —
- Location
- —
- Instructor
- Staff