Homework and Labs for Object Oriented Architecture: Patterns, Technologies, Implementations