Functional Streams for Scala with FS2 (Udemy.com)
Dealing with flows of data the right way.
Created by: Leandro Galvan
Last updated October 2022
What you will learn
- Understand the differences between Lists and Streams
- Implement memory efficient tasks via streaming (e.g. file i/o)
- Build complex flows for your application with streams
- Handle concurrency and resource safety declaratively
How it compares
Against the other 34 rated Udemy courses in Scala on CourseDuck:
- Rating4.6 out of 5higher than 70% of them
- Reviews98#29 of 35 by number of reviews
- Length6.8 hourslonger than 67% of them
- Last updatedOctober 2022more recently than 50% of them
Course Description
Many applications involve dealing with large flows of data. Examples are processing files in ETL jobs, reading results from a database or getting a big response from http calls. Handling large amounts of data often means sacrificing either readability or performance.
With streams, you can get the best of both worlds:
- Data is processed using a constant amount of memory, even if the total amount of data is very large
- The processing is built declaratively as if you were dealing with regular Lists or Sequences, with high level methods such as map, filter and flatMap
Furthermore, streams in FS2 are effect-aware. They work in the context of an effect monad like IO, which enables them to do all sorts of useful stuff such as processing elements in parallel, throttling, retrying on failure and many more.
In this course we will turn streams inside out and learn things like:
- Create and combine pure streams
- Add effects to our streams and learn how to compose them
- Handle errors & resources safely
- Apply patterns involving time, such as retries, throttling and debouncing.
- Build our own stream transformations with Pulls and Pipes
- Handle concurrency using many different patterns
- Communicate between streams using primitives such as Signals, Channels, Topics and Queues
Join me in this journey and add yet another amazing tool to your functional programming toolkit!
Instructor Details
- 4.6 Rating
98 Reviews
Leandro Galvan
My name is Leandro Galvan.
I'm a computer scientist from Rosario, Argentina and have been a software engineer for over a decade.
I'm a fierce believer of constant learning, reason why I'm constantly reading books, blogs, taking courses, and trying new and fun stuff!
Over the years I've grown particularly fond of sharing my knowledge with other people in a pragmatic and approachable way.
My current interests are Scala and functional programming. Also Japanese and languages in general :).
More courses by Leandro Galvan
Functional effect handling in Scala with Cats Effect (2022)
4.5 (150 Reviews)
Provider: Udemy
Time: 7.2h
$74.99
More Scala courses
Advanced Scala and Functional Programming (2024)
4.7 (3,560 Reviews)
Provider: Udemy
Time: 13.2h
$39.99
Reviews
By Rafael Soares on 9/26/2025
Simple and concise, easy to follow and well explained. Good instructor.
By Binghao Ng on 4/6/2024
It was really nice to learn about fs2. Instruction was clear and structured.
By Sebastien Guillaume on 1/4/2024
Excellent course ! I had some knowledge about Fs2 but still I learnt a lot ! Thanks Leandro !
By Kateu Herbert on 7/4/2023
It's really informative
By Steven Truong on 3/28/2023
Would prefer to have more larger real world examples
By Dmitry Ochnev on 2/9/2023
I took this course with http4s in mind because http4s is based upon fs2. So, the course is useful. Thanks to the author!
By Paweł Stępniewski on 1/6/2023
It is my third Leandro's course, so I think this is the best review of his courses :)
By Ignacio Gallego Sagastume on 11/26/2022
Great course by Leandro Galvan, very complete and detailed. From beginner to very advanced topics covered.
By Sami Badawi on 9/21/2022
This was really good approachable and concise documentation on FS2.
By Vladimir Lukiyanov on 6/7/2022
Easy to follow yet informative. Goes through a lot of the FS2 API, albeit mostly with synthetic examples.
Quality Score
No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.
Overall Score : 92 / 100







