Skip to content
UdemyScalaPaid courseIntermediate levelCertificate

Functional effect handling in Scala with Cats Effect (Udemy.com)

A peek on how functional programming experts deal with side effects

Created by: Leandro Galvan

Last updated September 2022

icon
What you will learn

  • Model and compose effectful computations in a pure manner.
  • Design an error handling strategy taking side-effects into consideration.
  • Increase concurrency and parallelism of an application with high-level methods.
  • Safely use and release resources such as connections, io streams, etc.
  • Handle complex concurrent scenarios involving shared state and thread communication with purely functional primitives.

How it compares

Against the other 34 rated Udemy courses in Scala on CourseDuck:

  • Rating4.5 out of 5higher than 58% of them
  • Reviews150#25 of 35 by number of reviews
  • Length7.2 hourslonger than 73% of them
  • Last updatedSeptember 2022earlier than 52% of them

icon
Course Description

When you first hear about functional programming you might get the impression that it can only be used in toy examples or for very academic purposes. After all, FP is all about purity and almost every useful thing you can do in a program is impure: http calls, file IO, and so on.

In this course I'm going to show you that FP is actually amazing for dealing with effects. By separating program description from execution you will be able to build computations that are easy to compose and reason about, while at the same time keeping all the usefulness of side-effects.

In order to do so, we are going to use the amazing Cats Effect library, which provides an IO monad to model our effects, a very rich API to compose them, and a highly-performant runtime to execute them.

The course is structured in many small/medium sized sections that focus on one specific topic. At the end of each section there is a final exercise to practice what you learned, and a quiz to help check your recall and understanding of the section.

By the end of the course, you will be able to:

  • Write and compose computations you want to run, before actually running them.

  • Design an error handling strategy for your application, taking side-effects into consideration.

  • Increase the parallelism and concurrency of your programs without the need to handle low-level details.

  • Use and compose resources that need to be released (connections, io streams, etc.) in an elegant manner.

  • Handle complex scenarios involving concurent shared state and thread communication by using purely functional primitives.

Hopefully, you will also have some fun along way!

icon
Udemy Discount

The discount is applied through our link. Open the course from here and Udemy's current promotional price is applied at checkout on most courses, no code to type.

Some courses are excluded from Udemy's promotions. If the price does not drop, clear your browser cookies and use the button again.

icon
Instructor Details

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 :).


icon
More courses by Leandro Galvan

$74.99

$84.99

icon
More Scala courses

Free

$39.99

$74.99

$74.99

$39.99

$11.99

icon
Reviews

4.5

150 ratings on Udemy

Select a bar to show only those reviews.Select the bar again to show every rating.

By Anonymized User on 1/3/2026

What I missed here was the deeper explanation of problems. The author has great knowledge of the topic but I miss detailed explanations, more theory. Or maybe that was me the problematic part :)

By Denis Terletskiy on 11/11/2025

Overall – a good course, like all other courses of Leandro. However, I would extend this course a little for completeness. The following things, IMO, are missing: 1. IO section from the Cats course should be here. Making your own Trampoline, and then IO – is what this course misses, considering it is about IO. So if you new to Scala, I would highly recommend to start from Scala Cats course of Leandro 2. Some Cats Effect things are missing: Fibers, MVars, more deeper explanation of what is Tagless Final and why it is needed. 3. This time there is no final project. Other two courses do have them :) Anyway – this course is a great start for those who wants to get acquainted with Cats Effect. After finishing it you can go to the documentation and/or search for additional information, if you decide it is not enough.

By Anonymized User on 3/8/2024

Kind of introduction to the library, but lack of comparison to the other API, why those examples were chosen and so on and so far.

By Akshay Sharma on 10/2/2023

Very detailed course on cats-effect from introduction to tagless final, covers every aspect of cats-effect that a developer would require on day to day basis.

By Yaroslav Sydorenko on 6/20/2023

Good course! I would like to say very well :) The author explains topics with visual and practical examples. An awesome part of the course is an exercise for each section that helps to confirm your understand topic well.

By Neil Moore on 6/16/2023

It was a good match. I've worked with scala before but new to Cats Effect. There was a lot of material covered and it has brought me to a core level of understanding I can take forward. The course is well put together and works nicely. My only issue (and it's tiny) is the Intro sections often ask you to "try it out", but we were not coding along during the intro's. Seems out of place to ask. And my parting statement is. Would I take another course by the author, yes.

By Alan C on 2/11/2023

Thank you for providing this wonderful course. I work on Typelevel functional stack for 2 years but there were still some concepts that I was still not that clear before I completed this great course. The examples and practices here in this course really help me not only get hands on, but also understand the concepts clearly. Hopefully, we can have new functional courses from Leandro. Bravo!!!

By Rohin Patel on 1/21/2023

The rating is for the content of the course, simple examples and easy to understand flow of the course. Pretty much covers all the things for cats-effects basics. one suggestion: I would have also loved to see the examples run through unit tests to better understand how to test code with effects.

By Ignacio Gallego Sagastume on 9/17/2022

Leandro is a very clear instructor, explaining all relevant topics in detail. If you work with Cats Effect or if you are just starting and want to be introduced into the topic, this course is an excellet choice. Also the exercises will help you to reafirm the theoretic knowledge from the lessons.

By Tomasz Perek on 6/4/2022

probably the only cats effects course over the web and quite good by the way. I especially like lots of examples and excercises. The pace could be a quick faster though.

Showing all 10 reviews on CourseDuck

Read all 150 reviews on Udemy

icon
Quality Score

No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.

Content Quality
/
Video Quality
/
Qualified Instructor
/
Course Pace
/
Course Depth & Coverage
/

Overall Score : 90 / 100