Principles of Reactive Programming
Martin Odersky, Erik Meijer and Roland Kuhn
Learn how to write composable software that is event-driven, scalable under load, resilient and responsive in the presence of failures. Model systems after human organizations or inter-human communication.
https://www.coursera.org/course/reactive