£1,001.92 – £1,246.72

Advanced Scala with Cats (Public Course)

Event Information

Share this event

Date and Time

Location

Location

Wallacespace St Pancras

22 Dukes Road

London

WC1H 9PN

United Kingdom

View Map

Event description

Description

About the course

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 functional programming 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 book Advanced Scala with Cats, available from the Underscore web site.

Course structure

Advanced Scala with Cats 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:

  • multi-core map-reduce;
  • probabilistic modelling;
  • applicative data validation;
  • distributed computations involving CRDTs;
  • parser combinator based DSLs.

The full course content is available on the course home page on the Underscore web site.

Who's teaching the course?

This course will be taught by Noel Welsh.

What will you need?

You must have:

  • your own laptop with Scala installed;
  • significant prior experience with Scala.

Breakfast and lunch are provided.

Diversity discounts

Diversity discounts are available via the event page on the Underscore web site.

Accessibility

Please note that the training room is at the top of two relatively steep flights of stairs.

If you are a wheelchair user or have restricted mobility, please get in touch before booking your ticket!

Share with friends

Date and Time

Location

Wallacespace St Pancras

22 Dukes Road

London

WC1H 9PN

United Kingdom

View Map

Save This Event

Event Saved