Essential Scala (in Space)

  • £7,500
  • 3 days
  • 2-10 trainees
  • On-site or remote

A conversion course to Scala for developers from other languages. We'll get you coding the right way as quickly as possible with equal doses of FP theory and hands-on labs. If you are an experienced developer taking your first steps in Scala, this is the course for you.

Course Outline

The Mechanics of Scala

  • Expressions, types, and values
  • Reasoning using substitution
  • Method and value definitions
  • Scala's type hierarchy
  • Objects and classes
  • Structure of a Scala application

Modelling Data

  • Algebraic Data Types
  • Case classes and sealed traits
  • Pattern matching
  • Common examples of ADTs

Collections and Computations

  • Traversing Lists and Options
  • Error handling with Option and Either
  • The map and flatMap methods
  • For comprehensions
  • Monads!

Generic Types

  • Type parameters on classes and methods
  • Generalised Algebraic Data Types
  • Variance and type bounds
  • Functors!

Type Classes

  • The type class pattern
  • Implicit parameters and values
  • Rules of implicit resolution
  • Recursive implicit resolution
  • Packaging implicits

Asynchronous and Concurrent Programming in Scala

  • Parallelism versus concurrency
  • Models of concurrency
  • Practical exercises with your choice of:
    • scala.concurrent, or
    • Cats Effect

Course Books

The content for this course is open source:

Logistics

We can deliver courses on-site or online over video conferencing, in the UK, Europe, US, or further afield.

We can adjust the teaching schedule to a certain degree to fit around your team's existing commitments. When teaching online, we recommend splitting longer courses into shorter sessions with interspersed breaks to avoid call fatigue.

  • Terms
  • Privacy
  • Contact Us