Functional programming in Scala


This course takes advantage of functional programming to make the most of the Scala programming language. In essence, it offers a deep dive into basic functional programming topics, such as algebraic data types, higher-order functions and type classes. In particular, it shows how higher-order functions deprecate for-loops and vars, how they help in error handling and asynchronous programming, and how inheritance and adapters can be superseded by type classes. 


  • Programmers with some preliminary exposure to the language willing to get a deep dive into Scala from the functional perspective 


MODULE 1. Functions and Algebraic data types

  • Functions in Scala
  • Sum and product types
  • Type-driven development 

MODULE 2. Higher-order functions

  • Higher-order functions (HOFs)
  • HOFs in the Scala standard library
  • Catamorphisms

MODULE 3. Higher-order functions (II)

  • Error handling with Either
  • Applicative programming with Validated
  • Asynchronous programming with Future
  • Dependency injection with Reader

MODULE 4. Type classes

  • Type classes & object-oriented patterns
  • Type classes in the Scala standard library
  • Property-based testing






Your premises / Our facilities at Parque Científico Universidad Carlos III de Madrid

Do you need a tailor-made course?

Contact us if you need tailor-made training for you or your development team. We create an exclusive content for your company

Request your own course

Start an awesome project with us