Skip to main content

ICS 672 Pattern-Oriented Software Construction

Object-oriented design using design patterns. Topics include: Study of creational, structural, and behavioral patterns; Applications of these patterns in the design and implementation of object-oriented systems; complete analysis, design, implementation, and refactoring of online and batch systems.

Special information

Note: Graduate Standing. Students are responsible to both be aware of and abide by prerequisites for ICS courses for which they enroll, and will be administratively dropped from a course if they have not met prerequisites.First day attendance is mandatory.
4 Graduate credits

Effective May 9, 2005 to present

Learning outcomes


  • Use major design patterns in the design and implementation of object-oriented software.
  • Create flexible, modular, reusable, and understandable designs.
  • Identify opportunities for the use of major design patterns.
  • Make appropriate design choices.
  • Apply refactoring techniques to improve solutions.
  • Understand the major architectural patterns useful for the construction of distributed systems.
  • Demonstrate expertise in reading peer-reviewed papers in object-oriented design and explain them in writing.