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

Conversational Selling Playbook for SDRs (Coursera) Coursera
Salesforce,SV Academy

Conversational Selling Playbook for SDRs (Coursera)

This is Course 3 in the Salesforce Sales Development Representative Professional Certificate. In order to successfully complete the course, please ensure you have taken Course 1: Groundwork for Success in Sales Development and Course 2: Foundations for Interviewing with Confidence. This course will dive into the 8 principles of SV Academy’s Conversational Selling Methodology, which will optimize you for success.

Sep 28th 2026
5-12 Weeks
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
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
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
Blockchain Scalability and its Foundations in Distributed Systems (Coursera) Coursera
The University of Sydney

Blockchain Scalability and its Foundations in Distributed Systems (Coursera)

Blockchain promises to disrupt industries once it will be efficient at large scale. In this course, you will learn how to make blockchain scale. You will learn about the foundational problem of distributed computing, consensus, that is key to create blocks securely. By illustrating limitations of mainstream blockchains, this course will indicate how to improve the technology in terms of security and efficiency. In particular, this course will help you: understand security vulnerabilities of mainstream blockchains; design consensus algorithms that tolerate attacks, and; design scalable blockchain systems.

Sep 28th 2026
5-12 Weeks
面向对象技术高级课程 (The Advanced Object-Oriented Technology) (Coursera) Coursera
Peking University

面向对象技术高级课程 (The Advanced Object-Oriented Technology) (Coursera)

如果将软件开发人员看作行走江湖的武侠,那么各种软件开发技术就是武侠赖以傍身的武术秘籍。有的秘籍以易学灵巧见长,练习者很快掌握,并有立竿见影的功效,但失之厚重持久;有的秘籍初学乍练顿显困难,虽冥思苦解仍不得要领,需坚持不断的内功修炼方成正果,却是成为武林大侠必备的至宝。本课程有些类似于后者。

Oct 12th 2026
13-24 Weeks
Genome Sequencing (Bioinformatics II) (Coursera) Coursera
University of California, San Diego

Genome Sequencing (Bioinformatics II) (Coursera)

You may have heard a lot about genome sequencing and its potential to usher in an era of personalized medicine, but what does it mean to sequence a genome? Biologists still cannot read the nucleotides of an entire genome as you would read a book from beginning to end. However, they can read short pieces of DNA. In this course, we will see how graph theory can be used to assemble genomes from these short pieces. We will further learn about brute force algorithms and apply them to sequencing mini-proteins called antibiotics.

Oct 12th 2026
5-12 Weeks
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 21st 2026
4 Weeks
Digitalisation in the Aerospace Industry (Coursera) Coursera
Technische Universität München - TUM

Digitalisation in the Aerospace Industry (Coursera)

The online course Digitalisation in Aerospace aims at making you aware of special production requirements connected with digitalisation. You will learn about the role of robotics and automation in manufacturing and gain a better understanding of differing perspectives on research and manufacturing as well as the points where these intersect.

Sep 21st 2026
3 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.

Oct 12th 2026
1 Week
Develop and Deploy Windows Applications on Google Cloud Platform (Coursera) Coursera
Google Cloud

Develop and Deploy Windows Applications on Google Cloud Platform (Coursera)

Learn to deploy and run Microsoft Windows® applications on Google Cloud Platform (GCP). Through lectures and hands-on labs, learn how to configure and run Microsoft Windows and Microsoft SQL Server in Google Compute Engine. You will also learn how to develop and deploy ASP.NET applications and deploy them to Google Compute Engine, Google App Engine, and Google Container Engine.

Mar 18th 2024
1 Week