Advanced Scala

Categories: Scala, Functional Programming, JVM
Course Length: 3 Days

Scala is for better or worse is considered a difficult language. Often it is because of highly technical blog posts or instructions that confuse more than enlighten. This Advanced Scala course it to take this supposed "hard material" and simplify it for audiences so that the language becomes within reach.

The description of the class is as follows:

  • Introduction

  • Refresher on Scala and Setup

  • Basic Type Programming

    • Type Aliasing

    • Stable Types

  • Parameterized Types

    • Covariance

    • Contravariance

    • Invariance

    • F-Type Polymorphism

  • Defining Types

    • Abstract Types

    • Path Dependent Types

    • Self Types

    • The Cake Pattern

  • Advanced Abstractions

    • Structural Types

    • Infix Types

    • Type Projections

    • Existential Types

  • Implicits Review

  • Typeclasses Review

  • Higher-Kinded Types

    • What is it?

    • Common Patterns

      • Functor

      • Monoid

      • Monad

  • Out in the wild

    • Cats

    • Scalaz

    • Circe

    • Shapeless