Pattern-Oriented Software Architectures for Concurrent and Networked Software -- assignment 1 & 2