Reactive programming is a set of techniques for implementing scalable, resilient and responsive systems as per the Reactive Manifesto. Such systems are based on asynchronous message-passing, and their basic building-blocks are event handlers. This course teaches how to implement reactive systems in Scala and Akka by using high-level abstractions, such as actors, asynchronous computations, and reactive streams.
You will learn how to:
- use, transform and sequence asynchronous computations using Future values
- write concurrent reactive systems based on Actors and message passing, 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 in a non-blocking way
- understand how back-pressure controls flows of data
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, asynchronous programming with Futures.
涵盖的内容
8个视频9篇阅读材料3个编程作业
显示有关单元内容的信息
8个视频•总计132分钟
Introduction to Programming Reactive Systems•11分钟
Tools Setup for Linux•23分钟
Tools Setup for Mac OS X•21分钟
Tools Setup for Windows•19分钟
Lecture 1.2-Functions and Pattern Matching•20分钟
Lecture 1.3-Collections•13分钟
Lecture 1.4-Asynchronous Programming•11分钟
Lecture 1.5-Futures•14分钟
9篇阅读材料•总计90分钟
Course structure•10分钟
Evaluation•10分钟
Tools Setup (Please read)•10分钟
Cheat Sheet•10分钟
IntelliJ IDEA Tutorial•10分钟
SBT tutorial and Submission of Assignments (Please read)•10分钟
Learning Resources•10分钟
Scala Tutorial•10分钟
Scala Style Guide•10分钟
3个编程作业•总计540分钟
Programming with Futures (verified track)•180分钟
Example Assignment•180分钟
Programming with Futures (audit track)•180分钟
The Actor Model
第 2 单元•小时 后完成
单元详情
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
涵盖的内容
5个视频2个编程作业
显示有关单元内容的信息
5个视频•总计111分钟
Lecture 2.1-Introduction: why actors?•15分钟
Lecture 2.2-The Actor Model•14分钟
Lecture 2.3-Message Processing Semantics•27分钟
Lecture 2.4-Designing Actor Systems•38分钟
Lecture 2.5-Testing Actor Systems•17分钟
2个编程作业•总计360分钟
Binary Trees (verified track)•180分钟
Binary Trees (audit track)•180分钟
Handling Failure and State
第 3 单元•小时 后完成
单元详情
This module further explores the Actor model by showing useful patterns used to create complex and resilient programs
涵盖的内容
3个视频2个编程作业
显示有关单元内容的信息
3个视频•总计72分钟
Lecture 3.1-Failure Handling With Actors•23分钟
Lecture 3.2-Lifecycle Monitoring and The Error Kernel•24分钟
Lecture 3.3-Persistent Actor State•25分钟
2个编程作业•总计360分钟
Replicated Key-Value Store (verified track)•180分钟
Replicated Key-Value Store (audit track)•180分钟
Distributed Computing
第 4 单元•小时 后完成
单元详情
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
涵盖的内容
6个视频
显示有关单元内容的信息
6个视频•总计119分钟
Lecture 4.1-Actors Are Distributed (part 1)•37分钟
Lecture 4.2-Actors Are Distributed (part 2)•18分钟
Lecture 4.3-Eventual Consistency•16分钟
Lecture 4.4-Actor Composition•20分钟
Lecture 4.5-Scalability•17分钟
Lecture 4.6-Responsiveness•11分钟
Typed Actors
第 5 单元•小时 后完成
单元详情
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
涵盖的内容
6个视频2个编程作业
显示有关单元内容的信息
6个视频•总计73分钟
Lecture 5.1-Introduction to Protocols•11分钟
Lecture 5.2-Protocols in Akka Typed•14分钟
Lecture 5.3-Testing Akka Typed Behaviors•8分钟
Lecture 5.4-Akka Typed Facilities•16分钟
Lecture 5.5-Akka Typed Persistence•13分钟
Lecture 5.6-Supervision revisited•10分钟
2个编程作业•总计360分钟
Transactor (verified track)•180分钟
Transactor (audit track)•180分钟
Stream Processing
第 6 单元•小时 后完成
单元详情
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
Lecture 6.4-Failure handling and processing rate•18分钟
2个编程作业•总计360分钟
Streaming assignment (verified track)•180分钟
Streaming assignment (audit track)•180分钟
Advanced Stream Processing
第 7 单元•小时 后完成
单元详情
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
When will I have access to the lectures and assignments?
To access the course materials, assignments and to earn a Certificate, you will need to purchase the Certificate experience when you enroll in a course. You can try a Free Trial instead, or apply for Financial Aid. The course may offer 'Full Course, No Certificate' instead. This option lets you see all course materials, submit required assessments, and get a final grade. This also means that you will not be able to purchase a Certificate experience.
What will I get if I purchase the Certificate?
When you purchase a Certificate you get access to all course materials, including graded assignments. Upon completing the course, your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile.
Is financial aid available?
Yes. In select learning programs, you can apply for financial aid or a scholarship if you can’t afford the enrollment fee. If fin aid or scholarship is available for your learning program selection, you’ll find a link to apply on the description page.