Scala: Advanced Object-Functional Programming Training Course

Course

In City Of London

Price on request

Description

  • Type

    Course

  • Location

    City of london

Scala is a concise, object-oriented language with functional programming features, including currying, type inference, immutability, lazy evaluation, and pattern matching. Scala code runs on a JVM and was designed to address some of the shortcomings of Java.
In this instructor-led, live training participants will learn how to use Scala's advanced features, including its type system, to write better code using an object-functional approach.
By the end of this training, participants will be able to:
Leverage Scala's type system to maximum benefit
Handle exceptions functionally
Create libraries and DSLs with Scala
Use Scala's advanced features for pattern matching
Audience
Scala programmers who wish to learn the more advanced and nuanced features of Scala
Format of the course
Part lecture, part discussion, exercises and heavy hands-on practice

Facilities

Location

Start date

City Of London (London)
See map
Token House, 11-12 Tokenhouse Yard, EC2R 7AS

Start date

On request

Questions & Answers

Add your question

Our advisors and other users will be able to reply to you

Who would you like to address this question to?

Fill in your details to get a reply

We will only publish your name and question

Reviews

Subjects

  • Programming
  • Evaluation

Course programme

Introduction
Scala as a JVM language
Objection-oriented programming vs functional programming

Overview of object-functional programming
Tail recursion
Partial functions
Currying and partial function application
Closures
Lazy evaluation

Mastering the Scala type system
About traits
Structural types
Path dependent types
Self types
Covariance and contravariance
Type bounds

Advanced pattern matching in Scala
Deep matching
Using extractors

Using Scala Implicit
Implicit conversion, classes and parameters
Type class pattern
Context and view bounds

Libraries and DSLs
Custom control structures with by-name parameters
Building well-designed libraries and internal DSLs

Working with Scala collections
Working with Streams
Manifests and class tags
Builders
CanBuildFrom
Building custom collections

Functional exception handling
Traditional exception handling
Functional exception handling
Using Try with For comprehensions

Closing remarks

Scala: Advanced Object-Functional Programming Training Course

Price on request