Advanced Scala with Cats is aimed at experienced Scala developers who want to take the next step in engineering robust and scalable systems. The course teaches six key abstractions of: monoids, functors, monads, monad transformers, applicative functors, and traversals, using the implementations in the Cats library. Through a series of projects we show you how these abstractions can be used to engineer solutions to practical problems in data analysis, data validation, input parsing, error handling, and more.
The main goal of this course is to teach system architecture and design using the techniques of modern functional programming. This means designing systems as small composable units, expressing constraints and interactions via the type system, and using composition to guide the construction of large systems in a way that maintains the original architectural vision.
The course also serves as an introduction to the Cats library. We use abstractions from Cats, and we explain the structure of Cats so you can use it without fear in your own code base. The broad ideas are not specific to Cats, but Cats provides an excellent implementation that is beneficial to learn in its own right.
The course materials include the books Advanced Scala with Cats and Essential Interpreters. You will receive free updates to the books for their lifetime.
Advanced Scala is split across two days:
On Day 1 we cover the main theoretical patterns of the course: monoids, functors, monads, monad transformers, applicative functors, and traversals. We discuss the theoretical concepts themselves and their implementation in Cats.
On Day 2 we put this knowledge to practice, working on extended case studies that apply the theory to practical problems. We tailor the case studies to the combined interests of the attendees. In previous courses we have implemented the following:
The full course content is available on the course home page.
This course will be taught by Noel Welsh.
The course will run for two days starting on Thu, May 11, 2017. It will be held at:
You must have:
The two-day course is £999+VAT, or £799+VAT for early bird tickets.
As usual, for diversity candidates tickets are half price.