Advanced Scala with Cats

This course covers advanced functional programming concepts using Cats, a library which provides abstractions for functional programming in the Scala programming language.

In this introductory course, we’ll review the primary concepts used in functional programming including monoids, semigroups, functors, and monads, and, while using Cats, we’ll learn about the main type classes and datatypes.


One year of experience in Scala or any other Functional Programming Programming language.

What you will learn

Key Functional Programming concepts:

Introduction to Functional Programming in Scala with Cats

Pure Functions

Referential Transparency

The Substitution Model

Higher Order Functions

Domain modeling with Algebraic Data Types:

Data classes and product types

Sealed classes and co-product types

How to express abstractions using type classes from the Cats library:






How to use type classes to solve practical problems in different domains:

Error Handling and Data validation

Dependency injection

Managing the state of your program


Advanced Scala with Cats

2 Days

2 Days

Instructor-Led Course

Instructor-Led Course



This Advanced Scala with Cats includes:

Maximum Class Size of 15

Access to Course Materials

Certificate of Completion

Access to a Private Channel with Trainers in the Academy Slack

A Q&A session one week post-course

A pre-and-post meeting with our trainers

Let's have a conversation

Schedule a meeting