Object-oriented Design CSCI 5801: Software Engineering.
Design Patterns CSCI 5801: Software Engineering. Design Patterns.