Programming Reactive Systems (Scala 2 version) (Coursera)

Programming Reactive Systems (Scala 2 version) (Coursera)
Course Auditing
Categories
Effort
Certification
Languages
Some experience in programming, preferably in Scala.
Misc

MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Programming Reactive Systems (Scala 2 version) (Coursera)
Reactive programming is a set of techniques for implementing scalable, resilient and responsive systems as per the Reactive Manifesto. Such systems are based on asynchronous message-passing, and their basic building-blocks are event handlers. This course teaches how to implement reactive systems in Scala and Akka by using high-level abstractions, such as actors, asynchronous computations, and reactive streams.

MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

You will learn how to:

- use, transform and sequence asynchronous computations using Future values

- write concurrent reactive systems based on Actors and message passing, using untyped Akka and Akka Typed

- design systems resilient to failures

- implement systems that can scale out according to a varying workload

- transform and consume infinite and intermittent streams of data with Akka Stream in a non-blocking way

- understand how back-pressure controls flows of data


What You Will Learn

- Understand how back-pressure controls flows of data

- Transform and consume infinite and intermittent streams of data with Akka Stream

- implement systems that can scale out according to a varying workload

- Design systems resilient to failures


Syllabus


WEEK 1

Introduction, Recap and Asynchronous Programming

This module shows you how to get started with the course. After setting up your machine to work on and to submit assignments, it will provide you with a recap of the basics of the Scala language. Finally, you will encounter the first topic of the course, asynchronous programming with Futures.


WEEK 2

The Actor Model

This module presents the Actor model: after analyzing its advantages and strengths, you will learn the semantics and design principles of actor systems before learn how to concretely test actor-based programs


WEEK 3

Handling Failure and State

This module further explores the Actor model by showing useful patterns used to create complex and resilient programs


WEEK 4

Distributed Computing

Actors allow you to decouple a program in units that can be distributed on a single or on multiple machines. This module elaborates on the power and the consequences of distributed computation


WEEK 5

Typed Actors

Now that you are familiar with the Actor model, this module shows how to leverage Scala's powerful type system to write programs with more confidence by using typed actor descriptions


WEEK 6

Stream Processing

This module introduces the concept of data streams and the basic semantics of stream processing before showing how the Akka framework can be used to tackle common challenges in this domain


WEEK 7

Advanced Stream Processing

This final module elaborates on more complex and powerful patterns in stream processing as well as how to the integrate the actor model to create custom nodes of data processing



MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Course Auditing
68.00 EUR
Some experience in programming, preferably in Scala.

MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.