Reactive programming is a set of techniques for implementing scalable, resilient and responsive systems. The basic building-block of such systems is event handlers. This course teaches how to implement reactive systems in Scala by using high-level abstractions based on event-handlers.
The course starts by showing how to abstract over event handlers. Then, it explains how to write concurrent systems by using the Actor programming model, how to make these systems resilient to failures, and how to scale out to distributed actors. Last, the course shows how to manipulate, in a resource efficient way, intermittent and potentially infinite streams of data.
Roland Kuhn, Konrad Malawski, Martin Oderski and Julien Richard-Foy