Pattern-Oriented Software Architectures for Concurrent and Networked Software course exercises and solutions