Course curriculum

  • 1

    Welcome

  • 2

    Introduction

  • 3

    Functional Error Handling

    • General considerations

    • Option, Try, Either

    • Validated

    • Exercises

  • 4

    Extension Features and Type Classes

    • Syntactic sugar

    • Implicits

    • Type classes

    • Exercises

  • 5

    Domain Modelling and ADTs

    • Algebraic Data Types

    • Semigroup and Monoid

    • Cats data types

    • Exercises

  • 6

    Higher Kinded Types

    • Introduction

    • The kind system

    • Exercises

  • 7

    The Functor Hierarchy

    • Functor

    • Applicative, Traverse

    • Monad

    • Exercises

  • 8

    Functional Effects

    • Introduction to IO

    • Asynchronous effects

    • Fibers

    • Testing IO

    • Exercises

  • 9

    Tagless Final

    • Algebras and Interpreters

    • DDD and Functional Design Patterns

  • 10

    Conclusion

    • Summary