Programming Reactive Systems

  • 0.0
Approx. 51 hours to complete

Course Summary

This course teaches Scala programming language and reactive programming principles. Students will learn how to build scalable and resilient distributed systems using the Akka framework.

Key Learning Points

  • Learn Scala programming language and Akka framework
  • Understand reactive programming principles
  • Build scalable and resilient distributed systems

Job Positions & Salaries of people who have taken this course might have

    • USA: $110,000
    • India: ₹1,000,000
    • Spain: €45,000
    • USA: $110,000
    • India: ₹1,000,000
    • Spain: €45,000

    • USA: $120,000
    • India: ₹1,200,000
    • Spain: €50,000

Related Topics for further study


Learning Outcomes

  • Understand the core concepts of Scala programming language
  • Apply reactive programming principles to build distributed systems using Akka framework
  • Develop scalable and resilient systems

Prerequisites or good to have knowledge before taking this course

  • Basic programming experience in any language
  • Familiarity with functional programming concepts

Course Difficulty Level

Intermediate

Course Format

  • Online
  • Self-paced
  • Video lectures

Similar Courses

  • Functional Programming Principles in Scala
  • Advanced Scala

Related Education Paths


Notable People in This Field

  • Jonas Bonér
  • James Ward

Related Books

Description

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.

Knowledge

  • 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

Outline

  • Introduction, Recap and Asynchronous Programming
  • Course Introduction
  • Tools Setup for Linux
  • Tools Setup for Mac OS X
  • Tools Setup for Windows
  • Lecture 1.2-Functions and Pattern Matching
  • Lecture 1.3-Collections
  • Lecture 1.4-Asynchronous Programming
  • Lecture 1.5-Futures
  • Course structure
  • Evaluation
  • Tools Setup (Please read)
  • Cheat Sheet
  • IntelliJ IDEA Tutorial
  • SBT tutorial and Submission of Assignments (Please read)
  • Learning Resources
  • Scala Tutorial
  • Scala Style Guide
  • The Actor Model
  • Lecture 2.1-Introduction: why actors?
  • Lecture 2.2-The Actor Model
  • Lecture 2.3-Message Processing Semantics
  • Lecture 2.4-Designing Actor Systems
  • Lecture 2.5-Testing Actor Systems
  • Handling Failure and State
  • Lecture 3.1-Failure Handling With Actors
  • Lecture 3.2-Lifecycle Monitoring and The Error Kernel
  • Lecture 3.3-Persistent Actor State
  • Distributed Computing
  • Lecture 4.1-Actors Are Distributed (part 1)
  • Lecture 4.2-Actors Are Distributed (part 2)
  • Lecture 4.3-Eventual Consistency
  • Lecture 4.4-Actor Composition
  • Lecture 4.5-Scalability
  • Lecture 4.6-Responsiveness
  • Typed Actors
  • Lecture 5.1-Introduction to Protocols
  • Lecture 5.2-Protocols in Akka Typed
  • Lecture 5.3-Testing Akka Typed Behaviors
  • Lecture 5.4-Akka Typed Facilities
  • Lecture 5.5-Akka Typed Persistence
  • Lecture 5.6-Supervision revisited
  • Stream Processing
  • Lecture 6.1-Stream Processing
  • Lecture 6.2-Introducing Reactive Streams Semantics
  • Lecture 6.3-Akka Streams
  • Lecture 6.4-Failure handling and processing rate
  • Advanced Stream Processing
  • Lecture 7.1-Streaming Protocols & Stream Composition
  • Lecture 7.2-Stateful operations and materialized values
  • Lecture 7.3-Fan-in and Fan-out operations
  • Lecture 7.4-Integrating Streams with (Typed) Actors

Summary of User Reviews

Coursera's Scala Reactive course has received positive reviews from students who found it to be a valuable and insightful learning experience. Many users praised the course for its comprehensive curriculum and engaging teaching style.

Key Aspect Users Liked About This Course

The course's emphasis on practical applications of Scala was appreciated by many users.

Pros from User Reviews

  • Comprehensive curriculum covering all aspects of Scala programming
  • Engaging and interactive teaching style
  • Hands-on assignments and projects help reinforce learning
  • Excellent support from instructors and course community
  • Useful insights into the practical applications of Scala

Cons from User Reviews

  • Some users found the pace of the course to be too fast
  • Occasional technical issues with the Coursera platform
  • Not ideal for beginners with no prior programming experience
  • Some users felt that the course could have been more challenging
  • The course can be time-consuming and require a significant time commitment
English
Available now
Approx. 51 hours to complete
Roland Kuhn, Konrad Malawski, Martin Odersky, Julien Richard-Foy
École Polytechnique Fédérale de Lausanne
Coursera

Instructor

Share
Saved Course list
Cancel
Get Course Update
Computer Courses