Scala is a multi-paradigm programming language created by Martin Odersky, blending object-oriented and functional programming. The first version was released in 2004, the second in 2006, and the third in 2021. Scala programs run on the JVM (Java Virtual Machine) and can use Java classes directly.
| # | SCALA | Topic | Description |
|---|---|---|---|
| PHASE 1: LANGUAGE FOUNDATIONS | |||
| 01 | Overview | Scala's purpose, the JVM, and where it's used. | |
| 02 | Setup & Toolchain | Install Coursier, sbt, scala-cli, and the REPL. | |
| 03 | Syntax | Core Scala syntax and program structure. | |
| 04 | Data Types | Type system, generics, and type inference. | |
| 05 | Strings | Interpolators, StringOps, StringBuilder, and regex. | |
| PHASE 2: COMPOSITION | |||
| 06 | Functions | Functions, lambdas, and functional style. | |
| 07 | Classes | Classes, case classes, and objects. | |
| 08 | Traits | Traits and interface composition. | |
| PHASE 3: DATA & FLOW | |||
| 09 | Collections | Lists, maps, sets, and collection operations. | |
| 10 | Control Flow | Conditionals, loops, and pattern matching. | |
| 11 | Error Handling | Option, Try, Either, and when to still use exceptions. | |
| PHASE 4: STRUCTURE & CONCURRENCY | |||
| 12 | Packages | Packages, imports, and build organization. | |
| 13 | Concurrency | Threads, Future, and ExecutionContext. | |
| 14 | Testing | ScalaTest, MUnit, fixtures, and sbt test. | |
| PHASE 5: PRACTICE & REFERENCE | |||
| 15 | Lab Examples | Single-file practice demos. | |
| 16 | References & Tools | Playgrounds, docs, courses, samples. | |