IT Training
by professionals for professionals

This is a two-day workshop created specially for programmers who would like to start their adventure with Scala. If you have experience in another programming language and wish to acquire applied Scala knowledge under the guidance of top specialists, this training is for you.

For programmers  



3300 PLN + VAT  


VirtusLab / Lightbend team member

About Training

This course is designed to give experienced developers the know-how to confidently start programming in Scala. The course ensures you will have a solid understanding of the fundamentals of the language, the tooling and the development process as well as a good appreciation of the more advanced features. If you already have Scala programming experience, then this course could be a useful refresher, yet no previous knowledge of Scala is assumed.


  • minimal experience in Scala looking for a refresher;
  • experience and proficiency in Java, C++, C# or Ruby.

After having participated in this course you should:

  • be a competent user of Scala;
  • know and be able to apply the functional programming style in Scala;
  • know how to use fundamental Scala tools;
  • be confident to start using Scala in production environments.


  • introduction:
    • what is Scala?
    • where did it come from?
    • why should I use Scala?
  • First steps in Scala:
    • Scala syntax;
    • Scala REPL.
  • Object-oriented basics:
    • create and usage of classes;
    • fields and methods;
    • singleton objects;
    • case classes.
  • Testing:
    • Scala testing ecosystem;
    • introduction to Behavior Driven Development;
    • ScalaTest.
  • Collections and functional programming:
    • overview and usage collection library;
    • immutability, persistent data structures and structural sharing;
    • functions and high-order functions.
  • For loops and for expressions:
    • difference between for loops and for expressions;
    • composing high-order functions.
  • Inheritance and traits:
    • Scala type system;
    • mix-in traits;
    • lineralization.
  • Pattern matching:
    • usage and benefits;
    • catch exceptions;
    • deconstruct tuples.
  • Dealing with optional values:
    • introduction to Option;
    • usage and benefits,
  • Handling failure:
    • introduction to Try;
    • usage and benefits,

Training partner