Scala: Advanced Functional Programming Training Course

Scala: Advanced Functional Programming Training Course

319 Phaya Thai Road, Pathum Wan, Pathum Wan District, Bangkok, Thailand


Scala is a concise, object-oriented language with functional programming features, including currying, type inference, immutability, lazy evaluation, and pattern matching.

In this instructor-led, live training participants will learn how to use Scala’s advanced features to develop well-constructed software that is easy to write, read, test, and change. The focus of this training is on functional programming, using real-world case studies and discussion as a reference for lab exercises and activities.

By the end of this training, participants will be able to:

  • Implement advanced functional programming techniques
  • Make sense of complex type signatures
  • Understand code through types and substitution
  • Handle exceptions functionally
  • Create libraries and DSLs with Scala
  • Use Scala’s advanced features for pattern matching

Format of the course

  • Part lecture, part discussion, exercises and heavy hands-on practice

Course Details :

Course Code : scalaadvancedfunctional
Duration : 14 hours (usually 2 days including breaks)
– Hands on experience in Scala programming
– Familiarity with pattern matching and traits
– Scala programmers who wish to learn the more advanced and nuanced features of Scala
Fees : 63214 THB(Price per participant)
Venue : Regus, Bangkok

Course Outline


  • 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


Course Schedule

Add A Review

Please enter input field

Training Course
Training Institute

Book your course now


Your enquiry submitted successfully

Enquiry Submission failed

Please enter input field(s)

Claim this course

To manage this course details kindly claim this course.