Course Scala Programming

  • Content
  • Training
  • Modules
  • General
  • Reviews
  • Certificate
  • Course Scala Programming : Content

    In the course Scala Programming the syntax and capabilities of the Scala programming language are discussed. Scala combines the power of object-oriented and functional programming and makes it possible to deliver functionality comparable to Java or C# with considerably less code.

    Scala Intro

    The Scala Programming course starts with a discussion of the concepts and characteristics of the Scala language compared to Java. Like Java, Scala produces code that is loaded into the Virtual Machine.

    Scala Syntax

    Next attention is paid to the syntax, the data types, variables, control structures and packages of Scala, as well as the possibilities to extend Scala and the use of Scala Frameworks such as the Lift Web Framework and the Play Framework.

    Functions and Closures

    Special attention is paid to the functional aspects of Scala such as first-class functions, higher order functions and the different ways of parameter transfer in Scala. Other typical language elements of Scala are also discussed, such as closures and deferred execution.

    Data Structures

    Subsequently data structures and collection types in Scala such as lists, maps, tuples and their respective higher order functions are covered.

    Classes and Traits

    Also the object oriented aspects of Scala such as inheritance, constructors, companion objects and overriding are treated. This includes support for duck typing. The concept of Scala Traits and the use of mixins is also discussed extensively.

    Pattern Matching

    A separate module is dedicated to pattern matching in Scala. This includes Match expressions, Match with variables and Match with Sequences. Wildcards are also covered and it is explained how to deal with any.

    Akka and Actors

    Finally attention is paid to concurrency in Scala with the Akka Framework and using Actors and Mailboxes and asynchronous communication.

  • Course Scala Programming : Training

    Audience Scala Programming Course

    The course Scala Programming is intended for Java, C# and other developers who want to learn programming in Scala or who want to explore the possibilities of Scala.

    Prerequisites Course Scala Programming

    To participate in this course knowledge and experience with an object oriented programming language such as Java or C# is required.

    Realization Training Scala Programming

    The theory is discussed on the basis of presentation slides. Demos are used to clarify the concepts. The theory is interspersed with exercises. The course material is in English and a modern IDE is used.

    Certification Scala Programming

    Participants receive an official certificate Scala Programming after successful completion of the course.

    Course Scala Programming
  • Course Scala Programming : Modules

    Module 1 : Scala Intro

    Module 2 : Language Syntax

    Module 3 : Functions and Closures

    Introducing Scala
    Basic Syntax
    Scala Concepts
    Scala Keywords
    Scala Characteristics
    Comments in Scala
    Interactive Shell
    Compiling Scala
    Scala HelloWorld
    Variables and Constants
    Java versus Scala
    Scala versus Java
    Scala Resources
    Variables and Scopes
    Scala Data Types
    Scala Type Hierarchy
    If and Else Statements
    Multiple Selection
    For and While Loops
    For Yield Filtering
    Breakable Blocks
    Formatted Strings
    Scala Arrays
    Multidimensional Arrays
    Scala Operators
    Reserved Symbols
    Scala Functions
    Call by Value and by Name
    Named Parameters
    Variable Arguments
    Default Parameters
    Recursive Functions
    Nested Functions
    Methods versus Functions
    Anonymous Functions
    First Class Functions
    Higher Order Functions
    Partially Applied Functions
    Currying Functions
    Simple Closure

    Module 4 : Data Structures

    Module 5 : Classes and Traits

    Module 6 : Pattern Matching

    Scala Collection Hierarchy
    Scala Lists
    Nills and Cons
    Head and Tail
    List Concatenation
    Scala Sets
    Concatenation Min and Max
    Intersections and Unions
    Scala Maps
    Keys and Values
    Scala Tuples
    Scala Options
    Scala Object Orientation
    Scala Classes
    Preventing State Change
    Object Singleton
    Companion Objects
    Abstract Classes
    Partial Trait Implementation
    Abstract Members
    Implicit Classes
    Unit returning Expressions
    Dealing with Any
    Match Expression
    Example Match Expressions
    Matching using case Classes
    Match with Variables
    Match with Sequences
    Extended Wildcard _*
    Scala versus Java
    Pattern Matching in Assignments
    Match with Types
    Matching on Tuples
    Pattern Matching with Option

    Module 7 : Scala Concurrency

    Concurrent Programming
    Akka Framework
    Actors in Akka
    Hello Akka World
    Actor Hierarchy
    Actor Information
    Supervision Strategies
    Top Level Supervisors
    Location Transparency
    Akka Guidelines
  • Course Scala Programming : General

    Course Forms

    All our courses are classroom courses in which the students are guided through the material on the basis of an experienced trainer with in-depth material knowledge. Theory is always interspersed with exercises.


    We also do custom classes and then adjust the course content to your wishes. On request we will also discuss your practical cases.

    Course times

    The course times are from 9.30 to 16.30. But we are flexible in this. Sometimes people have to bring children to the daycare and other times are more convenient for them. In good consultation we can then agree on different course times.


    We take care of the computers on which the course can be held. The software required for the course has already been installed on these computers. You do not have to bring a laptop to participate in the course. If you prefer to work on your own laptop, you can take it with you if you wish. The required software is then installed at the start of the course.


    Our courses are generally given with Open Source software such as Eclipse, IntelliJ, Tomcat, Pycharm, Anaconda and Netbeans. You will receive the digital course material to take home after the course.


    The course includes lunch that we use in a restaurant within walking distance of the course room.


    The courses are planned at various places in the country. A course takes place at a location if at least 3 people register for that location. If there are registrations for different locations, the course will take place at our main location, Houten which is just below Utrecht. A course at our main location also takes place with 2 registrations and regularly with 1 registration. And we also do courses at the customer’s location if they appreciate that.


    At the end of each course, participants are requested to evaluate the course in terms of course content, course material, trainer and location. The evaluation form can be found at https://www.klantenvertellen.nl/reviews/1039545/spiraltrain?lang=en. The evaluations of previous participants and previous courses can also be found there.


    The intellectual property rights of the published course content, also referred to as an information sheet, belong to SpiralTrain. It is not allowed to publish the course information, the information sheet, in written or digital form without the explicit permission of SpiralTrain. The course content is to be understood as the description of the course content in sentences as well as the division of the course into modules and topics in the modules.

  • Course Scala Programming : Reviews

  • Course Scala Programming : Certificate