Scala is an open source language that combines an object oriented approach with a functional programming paradigm. It has become popular due to its scalability, flexible syntax, interoperability with Java and pattern matching.
Audience>
Each participant will leave with a recognised certificate
Outline>
This course will introduce the fundamentals of Scala from the context of a Java background. It covers what is different between the two languages, how they are related and how to adopt a functional, rather than object oriented, approach.
Day 1
Introducing Scala
What is Scala
Advantages and Disadvantages to using Scala
Scaladocs
Scala Libraries
Scala tools - Repl and Eclipse
Basic Scala Syntax
Variables and Data types
Mutable vs Immutable data
Operators
Statement blocks
Conditionals
Loops , Guards and Yielding
Functions
Simple I/O
Objects in Scala
Creating objects
Creating new operators
Companion Objects and Singletons
Val vs Def
Exception Handling: Throwing exceptions and why not to
Inheritance and Traits
Simple Inheritance in Java and Scala
Abstract methods and classes
Traits
Multiple inheritance using traits
Packages
Day 2
Unit Testing and TDD
What is unit testing
Scala Test
Installing and running simple tests
Test styles: Flat Spec and feature Spec
Matchers and Exception catching
Functional Programming
Advantages and disadvantages to the functional programming style
Pure functions
Higher order functions
Lambda (anonymous) functions
Closures
Currying
Combining functions
Recursion
Lazy Evaluation and partially applied functions
Day 3
Collections and Generics
Generic types in Java and Scala
Arrays and the Array Buffer
Ranges
Iterating and transforming collections
Lists
Tuples
Maps
Zipping and unzipping collections
Variance and type bounds
Functional programming with Collections
The map function
forEach
filter
flatMap
Options
Pattern Matching
Case classes
match ... case
Capturing variables
Matching Lists
Matching and Recursion
Deep Matching
Our Clients
Our clients have included prestigious national organisations such as Oxford University Press, multi-national private corporations such as JP Morgan and HSBC, as well
as public sector institutions such as the Department of Defence and the Department of Health.