This advanced course teaches principles of reactive programming using Scala: how to write composable software that is event- driven, scalable under load, resilient and responsive in the presence of failures. Concepts covered include monads, futures, observables and actors.

Original course from École Polytechnique Fédérale de Lausanne, created by Martin Odersky.