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.
Prerequisities
- 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:
- Monoid
- Semigroup
- Functor
- Applicative
- Monad
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
- Instructor-Level Course
- Beginner
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