Studyportals
Certificate Online

Principles of Reactive Programming

Swiss Federal Institute of Technology in Lausanne

2 months
Duration
Unknown
Tuition fee
Anytime
Unknown
Apply date
Anytime
Unknown
Start date

About

Learn how to write composable software that is event-driven, scalable under load, resilient and responsive in the presence of failures. Model systems after human organizations or inter-human communication.

Overview

Education

  • This is a follow-on for the Coursera class “Principles of Functional Programming in Scala”, which so far had more than 100’000 inscriptions over two iterations of the course, with some of the highest completion rates of any massive open online course worldwide.
  • The aim of the second course is to teach the principles of reactive programming. Reactive programming is an emerging discipline which combines concurrency and event-based and asynchronous systems. It is essential for writing any kind of web-service or distributed system and is also at the core of many high-performance concurrent systems. Reactive programming can be seen as a natural extension of higher-order functional programming to concurrent systems that deal with distributed state by coordinating and orchestrating asynchronous data streams exchanged by actors.
  • In this course you will discover key elements for writing reactive programs in a composable way. You will find out how to apply these building blocks in the construction of event-driven systems that are scalable and resilient.
  • The course is hands on; most units introduce short programs that serve as illustrations of important concepts and invite you to play with them, modifying and improving them. The course is complemented by a series of assignments, which are also programming projects.
Course Format:
  • The class will consist of lecture videos, which are between 6 and 20 minutes in length. These contain integrated quiz questions per video. There will also be standalone homeworks that are not part of video lectures.

Programme Structure

  • Review of Principles of Functional Programming: substitution model, for-expressions and how they relate to monads.
  • Functional programming and mutable state. What makes an object mutable?
  • Futures. Introduces futures as another monad, with for-expressions as concrete syntax.
  • Reactive stream processing. Generalizing futures to reactive computations over streams. Stream operators.
  • Actors. Introduces the Actor Model, actors as encapsulated units of consistency, asynchronous message passing, discusses different message delivery semantics (at most once, at least once, exactly one time) and eventual consistency.

Key information

Duration

  • Part-time
    • 2 months
    • Flexible

Start dates & application deadlines

You can apply for and start this programme anytime.

Delivered

Online

Academic requirements

We are not aware of any academic requirements for this programme.

Other requirements

General requirements

  • You should have a background equivalent to someone who completed the course “Principles of Functional Programming”. We assume you know the fundamentals of functional programming and the Scala language.

Tuition Fee

Funding

Studyportals Tip: Students can search online for independent or external scholarships that can help fund their studies. Check the scholarships to see whether you are eligible to apply. Many scholarships are either merit-based or needs-based.

Fresh content

Updated in the last 9 months

Check the official programme website for potential updates.

Our partners

Principles of Reactive Programming
-
Swiss Federal Institute of Technology in Lausanne

Wishlist

Go to your profile page to get personalised recommendations!

Tuition fee settings