Course Outline


  • 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


  • 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
 14 Hours

Number of participants

Price per participant

Testimonials (5)

Related Courses

Akka - from Beginner to Intermediate

21 Hours

Machine Learning Fundamentals with Scala and Apache Spark

14 Hours

Scala: Advanced Functional Programming

14 Hours

Programming in Scala

14 Hours

Apache Spark Streaming with Scala

21 Hours

Introduction to Programming

35 Hours

Linux Network Programming

14 Hours

Clean Code

14 Hours

Java Persistence with Hibernate

14 Hours

Java Fundamentals for Android

14 Hours

Unit Testing with JUnit

21 Hours

Java Advanced

28 Hours

Java fundamentals with Maven

28 Hours

Java Advanced - one day

7 Hours

Java Intermediate - one day

7 Hours

Related Categories