About the content
Learn how to write composable software that stays responsive at all times by being elastic under load and resilient in the presence of failures. Model systems after human organizations or inter-human communication.
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.
- Martin Odersky
- Roland Kuhn - Typesafe Inc.
- Erik Meijer
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.
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.