Course Outline

Introduction

  • Who uses Scala?
  • Developing large-scale, purely-functional programs

Overview of Functional Programming in Scala

  • Higher-Order Functions
  • Combinators
  • Polymorphic Functions

Mastering Scala Types

  • Product types & Sum types
  • Supertypes & Subtypes
  • Universals & Existentials
  • Higher-Kinded Types
  • Type Lambdas

Mastering Scala Type Classes

  • Classes & Instances
  • Tricks with Implicits
  • Polymorphic Constraints

Case Study: Highly-stateful programs with complex external systems

Coding Exercise

Working with Data

  • Immutable Data & Recursion
  • Catamorphisms & Church Encoding
  • Fixed-Point Data
  • Recursion Schemes

Advanced Pattern Matching in Scala

  • Deep matching
  • Using extractors

Case Study: Scala and Big Data

Coding Exercise

Using Functional Patterns

  • Options, Eithers & Validations
  • Semigroups & Monoids
  • Functors
  • Applicatives
  • Monads
  • Foldables & Traversables
  • Lenses

Working with Effects

  • IO
  • State
  • Reader
  • Combining Effects

Case Study

  • TBD

Coding Exercise

Functional Architecture

  • Modern Architecture for FP
  • Reified Computation & Deferred Evaluation
  • Compositional Evaluators
  • Optimization Techniques
  • Purely Functional Mocking

Libraries and DSLs

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

Functional Exception Handling

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

Final Coding Exercise and Evaluation

Closing Remarks

Requirements

  • Hands on experience in Scala programming
  • Familiarity with pattern matching and traits

Audience

  • Scala programmers who wish to learn the more advanced and nuanced features of Scala
 14 Hours

Delivery Options

Private Group Training

Our identity is rooted in delivering exactly what our clients need.

  • Pre-course call with your trainer
  • Customisation of the learning experience to achieve your goals -
    • Bespoke outlines
    • Practical hands-on exercises containing data / scenarios recognisable to the learners
  • Training scheduled on a date of your choice
  • Delivered online, onsite/classroom or hybrid by experts sharing real world experience

Private Group Prices RRP from €4560 online delivery, based on a group of 2 delegates, €1440 per additional delegate (excludes any certification / exam costs). We recommend a maximum group size of 12 for most learning events.

Contact us for an exact quote and to hear our latest promotions


Public Training

Please see our public courses

Provisonal Upcoming Courses (Contact Us For More Information)

Related Categories