UpSkill to 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.
Course Outline
Day 1
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.
Introduction
What is Scala
Getting Started
Objects
Classes
Day 2
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
Traits
Algebraic Data Types
Monkeys & more!
Day 3
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