17-695 Design Patterns
6 units, Carnegie Mellon University
Attributes of a good quality software are ease of maintenance, modifiability, extensibility, and reusability, among others. Design Patterns that are mined from existing well-designed software improve quality through documented and proven solutions to common problems. Reusing good designs appropriately not only improves the quality, but also reduces the development cost. Many existing code without much documentation also can benefit by refactoring to patterns. In this course students will learn techniques to identify design problems and apply design patterns effectively to improve the quality of software. The objectives of this course are (1) Understanding good software design principles (2) Identifying design problems (3) Evaluating and selecting appropriate reusable design patterns (4)Solving design problems using design patterns (5)Refactoring existing code using design patterns
Prerequisites: none listed
Offered: Fall 2026, Fall 2025
Courseweave needs JavaScript to show sections, workloads and planning tools.