Scala
Learn Scala 3: immutable collections, for comprehensions, traits, case classes and enums, pattern matching, givens, Futures, Cats Effect, sbt and Spark.
What you'll learn
- Explain Scala's blend of OOP and FP and set up projects with Scala CLI and sbt.
- Write expression-oriented code with immutable collections, for comprehensions and higher-order functions.
- Model domains with classes, traits, case classes, enums and exhaustive pattern matching.
- Handle errors with Option, Either and Try, and use recursion, folds and the type system safely.
- Apply givens, type classes, extension methods and opaque types, and write concurrent code with Futures, effects and actors.
- Build, test and ship Scala services and Spark jobs, and interoperate with Java idiomatically.
Syllabus
Getting Started with Scala
- What Scala Is and Where It Is Used
- Installing Scala: Scala CLI, sbt and the REPL
- Values, Types and Expressions
Control Flow, Collections and Functions
Classes, Traits and Data Modelling
Functional Programming in Scala
The Type System and Contextual Abstractions
- Generics, Variance and Bounds
- Givens, Using Clauses and Type Classes
- Extension Methods, Opaque Types and Union Types