Principles of Reactive Programming

Course
en
English
35 h
This content is rated 4.5 out of 5
Source
  • From www.coursera.org
Conditions
  • Self-paced
  • Free Access
  • Free certificate
More info
  • 7 Sequences
  • Introductive Level

Their employees are learning daily with Edflex

  • Safran
  • Air France
  • TotalEnergies
  • Generali
Learn more

Course details

Syllabus

Week 1: Review of Principles of Functional Programming: substitution model, for-expressions and how they relate to monads. Introduces a new implementation of for-expressions: random value generators. Shows how this can be used in randomized testing and gives an overview of ScalaCheck, a tool which implements this idea.

Week 2: Functional programming and mutable state. What makes an object mutable? How this impacts the substitution model. Extended example: Digital circuit simulation.

Week 3: Futures. Introduces futures as another monad, with for-expressions as concrete syntax. Shows how futures can be composed to avoid thread blocking. Discusses cross-thread error handling.

Week 4: Reactive stream processing.  Generalizing futures to reactive computations over streams. Stream operators.

Week 5: 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 once) and eventual consistency.

Week 6: Supervision. Introduces reification of failure, hierarchical failure handling, the Error Kernel pattern, lifecycle monitoring, discusses transient and persistent state.

Week 7: Conversation Patterns. Discusses the management of conversational state between actors and patterns for flow control, routing of messages to pools of actors for resilience or load balancing, acknowledgement of reception to achieve reliable delivery.

Prerequisite

None.

Instructors

  • Martin Odersky
  • Roland Kuhn - Typesafe Inc.
  • Erik Meijer

Editor

The École polytechnique fédérale de Lausanne (EPFL, English: Swiss Federal Institute of Technology in Lausanne) is a research university in Lausanne, Switzerland, that specialises in physical sciences and engineering.

One of the two Swiss Federal Institutes of Technology, the school was founded by the Swiss Federal Government with the stated mission to:

Educate engineers and scientists to the highest international standing
Be a national center of excellence in science and technology
Provide a hub for interaction between the scientific community and the industry
EPFL is considered one of the most prestigious universities in the world for engineering and sciences, ranking 17th overall and 10th in engineering in the 2015 QS World University Rankings; 34th overall and 12th in engineering in the 2015 Times Higher Education World University Rankings.

Platform

Coursera is a digital company offering massive open online course founded by computer teachers Andrew Ng and Daphne Koller Stanford University, located in Mountain View, California. 

Coursera works with top universities and organizations to make some of their courses available online, and offers courses in many subjects, including: physics, engineering, humanities, medicine, biology, social sciences, mathematics, business, computer science, digital marketing, data science, and other subjects.

Complete this resource to write a review