Training Courses

Getting Productive with Scala

The 2 day Core Scala course is aimed at developers who are encountering Scala for the first time and want to understand how their knowledge of object-oriented and functional programming idioms carries over to and is deepened in this exciting new language.

It covers Scala from basic syntax and language constructs, through its distinctive object oriented characteristics and on to functional programming styles and pattern matching as applied to Scala's extensive collections framework.

The course has a practical focus, mixing presentation with in depth hands on labs and exercises.

Day 1

Introducing the syntax.
Primitive and simple types.
Control constructs.
Classes and case classes.
Mutability & Immutability.
Lists & Buffers.
Sets & Maps.
For comprehensions.
Interoperability with Java.
Revisiting for comprehensions.
Higher order functions.
Objects & modules.
Traits and mixin composition.
Self types.
Parameterized and abstract types.
Structural types.

Day 2

Structural recursion.
Kinds of pattern.
Matching with Lists and Options.
Pattern matching vs. higher order functions.
Pattern matching in unexpected places.
Pattern matching generalized.
By name parameters.
Local methods.
Recursion and tail recursion.
Partial functions.
Partially applied functions.
The power of folding.

Course Prerequisites

To benefit from this course you should have 1-2 years experience with an object oriented (eg. Java, C#) or functional (eg. Haskell, Scheme) programming language and a good general understanding of object oriented or functional programming language concepts.

For more information on the course or a discussion on your custom need, send a mail to

Awards and Recognition