Level 2 — Intermediate
These lessons cover classes, case classes, objects, traits, enums and algebraic data types, pattern matching, generics, higher-order functions, for-comprehensions, error handling with Option, Try, and Either, extension methods, files, sbt and Scala CLI, testing, and Java interoperability. Recommended: the Level 1 lessons, especially expressions, methods, collections, and Option.