ADVANCED SCALA PROGRAMMING – GTSC02

Course Description

This course introduces some advanced topics in Scala, building upon the basics presented in the “Scala Programming” course Topics include the use of immutable collections, implicit, and how to handle exceptions in a functional way.

Supported Distributions

The course can be run on Windows, Linux or OS X.

^^

Duration

2 Days

^^

Target Audience

Developers who already know some Scala, but who wish to learn more about advanced language features.

^^

Course Prerequisites

Developers with some experience of programming in Scala, or who have attended the “Scala Programming” course. Delegates should be familiar with basic Scala syntax and with its functional programming features.

^^

Suggested Follow on Courses

Please Contact us for suggestions.

^^

Course Content

1 – Building with sbt

  • Creating projects
  • Commands
  • Build definition files
  • Dependencies
  • Building a workflow

2 – Working with Types

  • require and assume
  • Inheritance and case classes
  • Review of traits
  • The Product trait
  • Type Constructor Polymorphism
  • Covariance and contravariance
  • Type bounds

3 – Functional Programming

  • Tail Recursion
  • @tailrec
  • Currying and Partial Function Application
  • Closures
  • Partial Functions
  • Lazy evaluation
  • collect

4 – Collections

  • Mutable and immutable collections
  • Scala vs Java collections
  • Iterators
  • Working with Streams
  • Manifests and class tags

5 – Pattern Matching

  • Deep Matching
  • Using Extractors
  • Using regular expressions
  • The @switch annotation

6 – Implicits

  • Implicit arguments
  • implicitly
  • Implicit conversions
  • Context and view bounds
  • Type classes

7 – Functional Exception Handling

  • Traditional exception handling
  • Problems with exceptions
  • A functional alternative – Try
  • Using Try with for comprehensions

^^

See more Programming Languages courses