Training | Advanced Functional Programming with Scala and Cats

Training about how to explore advanced techniques in functional programming using Scala and Cats.

scala

Overview

This course is the continuation of the “Functional Programming Fundamentals with Scala and Cats” course and explores more advanced techniques in functional programming using Scala and Cats.

Prerequisites

Over a year of experience in Scala or any other functional programming language.

What you'll learn

The first section of this course covers the core concepts of Functional Programming:

  • Typeclasses
  • Higher-Order Functions
  • Currying and partial application
  • Referential Transparency
  • Lazy Evaluation
  • Recursion

We’ll review main type classes from the Cats library:

  • Monoid
  • Semigroup
  • Functor
  • Applicative
  • Monad

Then, we’ll learn some advanced topics in regards to cats and cats-effect like:

  • Optics
  • Free Algebras
  • Effects and some of the related data types and typeclasses like IO, SyncIO, Fiber, Resource, Clock ContextShift, Timer, Bracket, Effect, ConcurrentEffect, etc.
  • Concurrency and Parallelism: Deferred, MVar, Ref, Semaphore.

Finally, we’ll apply all of the concepts covered above in real domains, like:

  • Asynchronous computations
  • Database persistence
  • HTTP communications.
  • Streaming

Company and Private Group Training

Related courses upcoming in the Academy

Company and Private Group Training

Skills

This Advanced Functional Programming with Scala and Cats includes:

  • Maximum Class Size of 15
  • Access to Academy EduTools Platform
  • 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