Master reactive programming in Scala: Build scalable, resilient systems using Akka and asynchronous techniques.
Master reactive programming in Scala: Build scalable, resilient systems using Akka and asynchronous techniques.
Dive into the world of reactive programming with this comprehensive course on building scalable, resilient, and responsive systems using Scala and Akka. Learn to implement asynchronous computations, design actor-based systems, and process infinite data streams. You'll master key concepts like back-pressure control, fault tolerance, and distributed computing. Through hands-on programming assignments, you'll gain practical experience in creating reactive systems that can handle varying workloads and recover from failures. This course is ideal for developers looking to build modern, distributed applications that can scale effortlessly.
3.9
(30 ratings)
3,145 already enrolled
Instructors:
English
21 languages available
What you'll learn
Implement asynchronous computations using Future values in Scala
Design and develop concurrent systems using the Actor model and Akka
Create resilient systems capable of handling failures and scaling out
Implement and manage infinite and intermittent data streams with Akka Stream
Understand and apply back-pressure concepts to control data flow
Develop distributed computing solutions using Akka's clustering capabilities
Skills you'll gain
This course includes:
8.27 Hours PreRecorded video
Access on Mobile, Tablet, Desktop
FullTime access
Shareable certificate
Closed caption
Get a Completion Certificate
Share your certificate with prospective employers and your professional network on LinkedIn.
Created by
Provided by

Top companies offer this course to their employees
Top companies provide this course to enhance their employees' skills, ensuring they excel in handling complex projects and drive organizational success.





There are 7 modules in this course
This course, led by experts including Martin Odersky (creator of Scala), introduces students to the principles and practices of reactive programming using Scala and Akka. The curriculum covers fundamental concepts such as asynchronous programming with Futures, the Actor model for concurrent systems, and stream processing with Akka Streams. Students will learn to design and implement scalable, resilient systems that can handle varying workloads and recover from failures. The course progresses from basic asynchronous programming to advanced topics like distributed computing and typed actors. Through a series of programming assignments, participants will gain hands-on experience in building reactive systems, including key-value stores, transactors, and streaming applications.
Introduction, Recap and Asynchronous Programming
Module 1 · 11 Hours to complete
The Actor Model
Module 2 · 7 Hours to complete
Handling Failure and State
Module 3 · 7 Hours to complete
Distributed Computing
Module 4 · 1 Hours to complete
Typed Actors
Module 5 · 7 Hours to complete
Stream Processing
Module 6 · 7 Hours to complete
Advanced Stream Processing
Module 7 · 6 Hours to complete
Fee Structure
Payment options
Financial Aid
Instructors
Programming Language Pioneer and Creator of Scala
Martin Odersky, born September 5, 1958, has established himself as a leading figure in programming language design and development. After receiving his Ph.D. from ETH Zurich in 1989 under Niklaus Wirth's supervision, he held research positions at IBM and Yale University, where he developed his passion for functional programming. His career achievements include co-designing Java generics and developing the javac reference compiler that became the standard Java compiler. In 1999, he joined EPFL as a full professor, where he leads the programming research group. His most significant contribution is creating the Scala programming language, which began development in 2001 and was first released in 2003. Scala successfully unifies object-oriented and functional programming paradigms while maintaining complete interoperability with Java and .NET. In 2011, he co-founded Typesafe (renamed to Lightbend in 2016) to provide commercial support for Scala. His work has earned him numerous accolades, including being named an ACM Fellow in 2007 for his contributions to programming language design. He currently teaches several courses on Coursera, including Functional Programming Principles in Scala, Functional Program Design in Scala, and Programming Reactive Systems, while continuing to oversee Scala's development as both an academic and industrial programming language.
Scala Education Leader and Programming Language ExpertJulien Richard-Foy serve
Julien Richard-Foy serves as the Director of Education at the Scala Center at EPFL, where he focuses on making advanced programming techniques accessible to a broader audience. He leads the development of educational content and initiatives that bridge the gap between academic research and industry practices in Scala programming. As the lead instructor for "Effective Programming in Scala," a comprehensive course with over 14,688 enrolled students, he teaches fundamental concepts, best practices, and real-world applications of the Scala language. His course, which maintains a remarkable 4.8/5 instructor rating, covers essential topics from business domain modeling to asynchronous computations and functional programming. Through his work at the Scala Center, he contributes to developing open-source tools and libraries while guiding the Scala community's growth and supporting newcomers to the ecosystem.
Testimonials
Testimonials and success stories are a testament to the quality of this program and its impact on your career and learning journey. Be the first to help others make an informed decision by sharing your review of the course.
Frequently asked questions
Below are some of the most commonly asked questions about this course. We aim to provide clear and concise answers to help you better understand the course content, structure, and any other relevant information. If you have any additional questions or if your question is not listed here, please don't hesitate to reach out to our support team for further assistance.





