Programming Reactive Systems (Coursera)

Programming Reactive Systems (Coursera)

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. You will learn how to: use, transform and sequence asynchronous computations using Future values; write concurrent systems based on Actors, 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; understand how back-pressure controls flows of data

Class Deals by MOOC List - Click here and see Coursera's Active Discounts, Deals, and Promo Codes.

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
  • What you will learn from this course

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

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

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

Related Courses

Parallel Programming in Java (Coursera) Coursera
Rice University

Parallel Programming in Java (Coursera)

This course teaches learners (industry professionals and students) the fundamental concepts of parallel programming in the context of Java 8. Parallel programming enables developers to use multicore computers to make their applications run faster by using multiple processors at the same time. By the end of this course, you will learn how to use popular parallel Java frameworks (such as ForkJoin, Stream, and Phaser) to write parallel programs for a wide range of multicore platforms including servers, desktops, or mobile devices, while also learning about their theoretical foundations including computation graphs, ideal parallelism, parallel speedup, Amdahl's Law, data races, and determinism.

Sep 14th 2026
4 Weeks
Learn Firebase (Coursera) Coursera
Scrimba

Learn Firebase (Coursera)

In this comprehensive course, aspiring front-end developers will discover the transformative capabilities of Firebase. By leveraging Firebase's cloud architecture, you can seamlessly incorporate a wide array of features into your applications using HTML, CSS, and JavaScript. This newfound flexibility is underpinned by Firebase's cloud functions, which empower you with dynamic functionalities.

Sep 7th 2026
3 Weeks
Grand Central Dispatch (GCD) (Udacity) Udacity
Udacity

Grand Central Dispatch (GCD) (Udacity)

Perform Asynchronous Operations in iOS. Many times your apps need to run lengthy operations in the background, like downloading data, but you don't want these operations to interfere with your UI. Apple's GCD (long form: Grand Central Dispatch) framework allows you to create asynchronous apps for iOS, ensuring smooth a smooth user experience in situations like the one mentioned above.

Self Paced
Self-Paced
Asynchronous JavaScript Requests (Udacity) Udacity
Udacity

Asynchronous JavaScript Requests (Udacity)

Fetch Data Asynchronously. This course covers everything a developer needs to know to asynchronously send and receive data in their web applications. You'll dive into how asynchronous requests work by using the XHR object to create and send asynchronous requests for image and news article data. Then, you'll see how you can perform async requests more easily using third-party libraries and APIs like jQuery's Ajax and the Fetch API.

Self Paced
Self-Paced
Programming Reactive Systems (edX) EdX
École Polytechnique Fédérale de Lausanne,EPFLx

Programming Reactive Systems (edX)

Principles of Reactive Programming in Scala. 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.

Self Paced
Self-Paced
Data Manipulation in JavaScript (Coursera) Coursera
University of California, Davis

Data Manipulation in JavaScript (Coursera)

This course builds on the skills from the previous course and goes further into managing and manipulating data with JavaScript. You will learn methods for validating and handling data provided by users or coming from an external data source. This course includes a challenge in the form of a seat reservation system, as well as a project that pulls data in from an external data source.

Sep 7th 2026
4 Weeks
Server side JavaScript with Node.js (Coursera) Coursera
NIIT StackRoute

Server side JavaScript with Node.js (Coursera)

Have you ever wondered how you are able to do net banking or book a ticket online? Which technology is adopted for applications used in different businesses? Backend technology acts as a backbone to every web application. It typically includes all services, data interfaces and their core business logic. This course will introduce you to the Node.js environment and help you design and develop backend or server-side of the application. It also provides you with hands on coding exercises and will enable you to build JavaScript programs and test and execute them in the Node.js environment.

Sep 7th 2026
5-12 Weeks
Approximation Algorithms Part II (Coursera) Coursera
École normale supérieure

Approximation Algorithms Part II (Coursera)

This is the continuation of Approximation algorithms, Part 1. Here you will learn linear programming duality applied to the design of some approximation algorithms, and semidefinite programming applied to Maxcut. By taking the two parts of this course, you will be exposed to a range of problems at the foundations of theoretical computer science, and to powerful design and analysis techniques.

Sep 28th 2026
4 Weeks
NodeJS Unleashed: Mastering Backend Development (Coursera) Coursera
EDUCBA

NodeJS Unleashed: Mastering Backend Development (Coursera)

Embark on a comprehensive Node.js development journey with this course. Starting with the fundamentals, you will establish a solid foundation by mastering Node.js installation and utilizing Visual Studio Code. Later, We will delve into advanced topics, such as asynchronous programming, error handling, CRUD operations, and OS module usage for system information retrieval.

Sep 14th 2026
4 Weeks
Integrating Test-Driven Development into Your Workflow (Coursera) Coursera
LearnQuest

Integrating Test-Driven Development into Your Workflow (Coursera)

In this course we will discuss how to integrate best practices of test-driven development into your programming workflow. We will start out by discussing how to refactor legacy codebases with the help of agile methodologies. Then, we will explore continuous integration and how to write automated tests in Python. Finally, we will work everything we've learned together to write code that contains error handlers, automated tests, and refactored functions.

Sep 7th 2026
4 Weeks
Learn Imba (Coursera) Coursera
Scrimba

Learn Imba (Coursera)

In this class, you'll dive into Imba, the programming language used to build scrimba.com. Imba, a compile-to-JavaScript language, packs a punch with nifty features for whipping up web apps, including built-in tags and styles. We'll cover the ABCs of Imba syntax and work on creating a Dopamine Box app. By the finish line, you'll be armed with the skills to construct your very own web app UI using Imba.

Sep 14th 2026
1 Week