This document outlines the agenda and content for a Scala training workshop. The agenda includes an introduction, sections on types and pattern matching, lists, collections, lazy evaluation, exercises, and sharing. The types and pattern matching section covers functions as objects, subtyping and generics, pattern matching, and examples. It also discusses blocks, tail recursion, higher-order functions, currying, and data abstraction through class hierarchies and traits vs abstract classes. The document provides examples for many of these concepts. Exercises at the end include implementing Pascal's triangle through recursion.