InstructorAgile Digital
TypeIn Person Interactive Class
TimeFebruary 2017
PlaceSydney, Australia
Book Now

Book your course now!

Scala Training Agile Digital Scala

Fast Track to Scala

Full day courses are catered.


Would you like to learn functional programming in Scala? This intensive, hands-on course is designed to give experienced developers the know-how to confidently start programming in Scala. The course ensures you will have a solid understanding of the fundamentals of the language, the tooling and the development process as well as a good appreciation of the more advanced features. If you already have Scala programming experience, then this course could be a useful refresher, yet no previous knowledge of Scala is assumed.


2 days


After having participated in this course you should:

  • Be a competent user of Scala
  • Know and be able to apply the functional programming style in Scala
  • Know how to use fundamental Scala tools
  • Be confident to start using Scala in production environments

Application developers wishing to learn Scala


Students taking this course should have:

  • Experience with Java (preferred), C++, C#, Ruby or another object-oriented language
  • No previous Scala knowledge is required
Bring your own hardware

Students are required to bring their own laptops for this course.

Setup Requirements

To complete the exercises in this course, students need to install the following before class:

  • Introduction
    • What is Scala?
    • Where did it come from?
    • Why should I use Scala?
  • First steps in Scala
    • Scala syntax
    • Scala REPL
  • Object-oriented basics
    • Create and usage of classes
    • Fields and methods
    • Singleton objects
    • Case classes
  • Testing
    • Scala testing ecosystem
    • Introduction to Behavior Driven Development
    • ScalaTest
  • Collections and functional programming
    • Overview and usage collection library
    • Immutability, persistent data structures and structural sharing
    • Functions and high-order functions
  • For loops and for expressions
    • Difference between for loops and for expressions
    • Composing high-order functions
  • Inheritance and traits
    • Scala type system
    • Mix-in traits
    • Lineralization
  • Pattern matching
    • Usage and benefits
    • Catch exceptions
    • Deconstruct tuples
  • Dealing with optional values
    • Introduction to Option
    • Usage and benefits
  • Handling failure
    • Introduction to Try
    • Usage and benefits