Course objectives

The training participants will acquire practical knowledge on programming in Scala, functional programming, testing, build tools for scala. The training is focused on functional side of Scala language.

In particular, the participants are to:

  • Get familiar with functional programming concepts in general and learn to apply them in Scala
  • Get familiar with Scala syntax and language constructs such as: pattern matching, abstract types, generics, implicit conversions
  • Get familiar with good practices, clean code of Scala programming
  • Get familiar with advanced language features like higher kinded types, dependent types and their practical appliances

Course parameters

3*8 hours of lectures and workshops, with a emphasis on workshops.
During the workshops, the participants will practice scala on more and more advanced exercies

  1. Introduction to Scala

    • Hello Scala
    • REPL
    • Compiler
    • Building with SBT
    • ScalaDocs
  2. Functional programming

    • functions, methods
    • partially applied functions, currying
    • lambda expressions
    • working with collections
    • recursive programming
    • functional data structures
  3. Objects and types

    • pattern matching
    • type bounds
    • abstract types
    • traits
    • dependency injection
    • inheritance
  4. Advanced features

    • implicit conversions
    • dependent types
    • higher kinded types

Want to know more? Contact us!