Course: Fundamentals of Scala

$228.69 incl. vat

duration: 13 hours |

Language: English (US) |

access duration: 90 days |

In Onbeperkt Leren


In this online Scala course you will learn the basics and features of the programming language Scala. You will get an introduction of Scala, how to use the library, use pattern matching, Java interoperability and concurreny. Finally you will learn about sbt, dependencies, ensime and scala.js.


After completing this course you are familiar with the basics and features of the programming language Scala.


We recommend experience of another programming language.

Target audience

Web Developer


Fundamentals of Scala

13 hours

Scala Introduction

  • start the course
  • describe the features of Scala
  • download and install the Scala binaries
  • run the Scala REPL and evaluate simple expressions
  • list the IDEs with Scala support and install the Scala plugin for Eclipse
  • use variables in Scala, and describe type inference
  • use value types in Scala, and describe the immutable property
  • declare and use a function in Scala
  • create a simple class and method in Scala
  • describe objects in Scala and how everything is an object
  • use Scala collections
  • use infix notation for built-in and custom methods in Scala
  • use operators and operator overloading in Scala
  • use Java types from Scala
  • describe the use of the unit type in Scala
  • use Scala if expressions and note that if is an expression and not a statement
  • use Scala match expressions
  • create constructors for classes in Scala
  • create fields in Scala classes, and describe behaviors of different field types
  • use automatic getters in Scala and override them
  • use automatic setters in Scala and override them
  • declare and use singleton objects in Scala
  • use companion objects in Scala
  • create and use a subclass in Scala
  • use traits in Scala
  • create a Scala application that contains a class, a subclass, and a companion object

Scala Functional Programming and Collections

  • start the course
  • describe the key aspects of functional programming in Scala
  • demonstrate the use of expression-oriented programming in Scala
  • utilize pure functions in Scala
  • explore the use of literals and anonymous functions in Scala
  • demonstrate how functions can be used as variables and parameters in Scala
  • describe the use of closures
  • create and use partially applied functions
  • demonstrate how to curry a function
  • explore how to compose functions from other functions
  • describe how to best use tail-recursion
  • differentiate between call-by-name and call-by-value
  • provide an overview of the collections framework in Scala
  • explore the key differences between mutable and immutable collections
  • use Sets in a Scala application
  • use Maps in a Scala application
  • use Sequences and perform sort operations in a Scala application
  • use Iterators in a Scala application
  • identify the key aspects of concrete immutable collection classes
  • identify the key aspects of concrete mutable collection classes
  • apply arrays in Scala
  • work with Strings in Scala code
  • demonstrate the proper way to test for equality in code
  • work with interpolation when using strings in Scala
  • compare Java and Scala collections
  • create a Scala application that utilizes functional programming to work with collections and Strings

Scala Pattern Matching, Interoperability, and Concurrency

  • start the course
  • describe the key aspects of pattern matching in Scala
  • demonstrate how to apply pattern matching to lists in Scala
  • utilize pattern matching and case classes in Scala
  • explore the use of pattern matching with functions in Scala
  • compare OOP and functional programming
  • explore how to work with Java and Scala classes
  • create and use JavaBeans with Scala
  • demonstrate how to use Java interfaces and Scala traits
  • create static members with Scala objects
  • demonstrate how to deal with exceptions in Java and Scala
  • explore how to work with annotations in Java and Scala
  • compare Scala and Java concurrency
  • describe the use of asynchronous execution in Scala
  • specify the various ways to transform futures in Scala
  • troubleshoot and test with Scala futures
  • register and use Scala callbacks
  • implement Scala blocking with futures
  • demonstrate the use of promises in Scala concurrency
  • explore the utilities associated with Scala concurrency
  • create a Scala application that utilizes functional programming to work with collections and Strings

Scala Tooling

  • start the course
  • download and install sbt
  • use common options in a sbt project
  • manage dependencies in sbt
  • download a Scala project from Github and compile it with sbt
  • create a Scala application with Lightbend activator
  • configure Scala in emacs with ensime
  • import sbt projects into the Eclipse based Scala IDE
  • create a basic Scala.js application with Scala
  • including a Scala.js project in a web browser
  • manipulate the DOM with Scala.js
  • create a Scala sbt project that creates a basic Scala.js application

Scala Expressions and Parallel Computation

  • start the course.
  • explore how to work with Scala streams
  • use lazy evaluation in Scala
  • use the basic Scala "for" expression
  • use startsWith, endsWith, and indexOf inside a Scala "for" expression
  • use the Scala "for" expression with various collections
  • utilize the Scala map method
  • utilize the Scala flatMap method
  • utilize the Scala withFilter method
  • utilize the Scala fold method
  • utilize the Scala reduce method
  • perform a parallel computation in Scala
  • carry out a parallel sort in Scala
  • explore the use of parallel collections in Scala
  • work with parallel programming in Scala
  • utilize Scala.rx for FRP
  • apply a transform method over a Scala List with map and withFilter

Course options

We offer several optional training products to enhance your learning experience. If you are planning to use our training course in preperation for an official exam then whe highly recommend using these optional training products to ensure an optimal learning experience. Sometimes there is only a practice exam or/and practice lab available.

Optional practice exam (trial exam)

To supplement this training course you may add a special practice exam. This practice exam comprises a number of trial exams which are very similar to the real exam, both in terms of form and content. This is the ultimate way to test whether you are ready for the exam. 

Optional practice lab

To supplement this training course you may add a special practice lab. You perform the tasks on real hardware and/or software applicable to your Lab. The labs are fully hosted in our cloud. The only thing you need to use our practice labs is a web browser. In the LiveLab environment you will find exercises which you can start immediatelyThe lab enviromentconsist of complete networks containing for example, clients, servers,etc. This is the ultimate way to gain extensive hands-on experience. 


Via ons opleidingsconcept bespaar je tot 80% op trainingen

Start met leren wanneer je wilt. Je bepaalt zelf het gewenste tempo

Spar met medecursisten en profileer je als autoriteit in je vakgebied.

Ontvang na succesvolle afronding van je cursus het officiële certificaat van deelname van

Krijg inzicht in uitgebreide voortgangsinformatie van jezelf of je medewerkers

Kennis opdoen met interactieve e-learning en uitgebreide praktijkopdrachten door gecertificeerde docenten


Once we have processed your order and payment, we will give you access to your courses. If you still have any questions about our ordering process, please refer to the button below.

frequently asked quesions

What is included?

Certificate of participation Yes
Monitor Progress Yes
Award Winning E-learning Yes
Mobile ready Yes
Sharing knowledge Unlimited access to our IT professionals community
Study advice Our consultants are here for you to advice about your study career and options
Study materials Certified teachers with in depth knowledge about the subject.
Service World's best service


Na bestelling van je training krijg je toegang tot ons innovatieve leerplatform. Hier vind je al je gekochte (of gevolgde) trainingen, kan je eventueel cursisten aanmaken en krijg je toegang tot uitgebreide voortgangsinformatie.

Life Long Learning

Follow multiple courses? Read more about our Life Long Learning concept

read more

Contact us

Need training advise? Contact us!