Scala 3
The planned outline of 16 modules. Lessons are written, run and reviewed before they are published.
Planned outline
- Module 1
Start here: Scala 3.9 LTS on the JVM
Coming soon - Module 2
Basics: values, numbers, text and control flow
Coming soon - Module 3
Domain modelling: classes, traits, case classes and enums
Coming soon - Module 4
Functions and functional programming
Coming soon - Module 5
Errors, absence, resources and for-comprehensions
Coming soon - Module 6
The collections library
Coming soon - Module 7
The type system in practice
Coming soon - Module 8
Contextual abstractions: extensions, givens and type classes
Coming soon - Module 9
Inline and metaprogramming
Coming soon - Module 10
Everyday programs: files, JSON, HTTP, web and databases
Coming soon - Module 11
Concurrency: threads, Futures, direct style, effects and actors
Coming soon - Module 12
Build, test and ship
Coming soon - Module 13
Java interop, upgrades and migration
Coming soon - Module 14
Data engineering with Spark and Scala
Coming soon - Module 15
Beyond the JVM, library design and the language frontier
Coming soon - Module 16
Interview preparation and practice
Coming soon
Official documentation
- docs.scala-lang.org/scala3/book/introduction.html (docs.scala-lang.org)
- docs.scala-lang.org/scala3/reference (docs.scala-lang.org)
More in Programming languages
- Python (coming soon)
- SQL (PostgreSQL, MySQL, SQLite) (coming soon)
- JavaScript (ES2026) (coming soon)
- Java (JDK 25 LTS) (coming soon)
- All Languages tracks
- How we make lessons