Get Good at Scala
This is a 3-day course teaching Scala from first principles. It is a basic course designed to introduce the students to Scala rather than teach advanced topics.
Day one focuses on getting started with Scala and introduces the core concepts which we build on in days 2 and 3. As Scala is a Functional programming language we take a brief look at what Functional programming is with practical examples and learn what it means to program in a Functional way.
After that we take a look at the core concepts in Scala: variables, immutability, functions, objects and how to abstract over objects using classes.
- What Is Scala
- Getting Started
Day 2 builds upon what we learnt about objects and classes in day 1. We look at how to abstract over classes using traits, case classes and pattern matching before taking a look at how to model data using Algebraic Data Types.
Finally we take a peek at implicits and how they can be used to add features to classes that already exist. A feature often referred to as Monkey Patching in other languages.
- Case Classes
- Pattern Matching
- Algebraic Data Types
- Monkeys & more!
The final day introduces the students to Scala's more functional features.
We take a detailed look at functions and some of their advanced features; higher-order functions, multiple parameter lists and currying. We also look at how to abstract functions over types using generics.
We then take a look at Monads by starting with a deep dive into Scala's collection library before introducing other, commonly used Monads; Option, Future, Either, Try etc. Finally we take a detailed look at for-comprehensions.
- Functions Everywhere
- Collections & Tuples
- For Comprehension
- Monadic Types
If you would like to book this course then please contact me