Overview
Introduction to Scala
A basic, unopinionated introduction to the Scala programming language, structured around the main paradigms that the language supports: object-orientation, generic, implicit and functional programming.
AUDIENCE
- Programmers who want a first contact with the language and its ecosystem of tools
COURSE OUTLINE (16 hours)
MODULE 1. The language and tools
- The Scala Repl
- Jupyter notebooks and ammonite scripts
- Building and testing tools
MODULE 2. Object-oriented programming in Scala
- Classes and objects
- Inheritance and traits
MODULE 3. Generic programming in Scala
- Generic classes & methods
- Variance and contravariance annotations
MODULE 4. Implicits in Scala
- Implicit values & classes
- Patterns: ad-hoc overloading, dependency injection, type-level programming
MODULE 5. Functional programming in Scala
- Functions & algebraic data types
- The Scala Collections library