Pattern-Oriented Software Architectures for Concurrent and Networked Software
coursera.org