The Scala Programming Language Training in Finland

  • Learn via: Classroom / Virtual Classroom / Online
  • Duration: 5 Days
  • Price: Please contact for booking options
We can host this training at your preferred location. Contact us!

The Scala Programming Language was invented in 2004 in an attempt to bring functional programming to the jvm, and the java development community. It has risen to prominence in recent years as the de-facto language to compliment and replace java in existing teams, and as an advanced and capable language on greenfield projects.

Scala combines advanced techniques long established in the functional programming community with the best practices of object-orientation, allowing developers to pick and chose a style and an approach that suits their team and their problems.

By the end of this course delegates will have a clear understanding of object orientation and functional programming, and in particular, all the major features of scala which enable these styles of programming to be used and combined.

The course is divided in to 15 modules (listed in the overview) delivered over five days with an attention to an interactive Q&A-style approach to teaching and exercise practice.

Delegates must have prior programming experience in java or a related object-oriented language.

Day 1

1 Introduction 

  • Why scala?
  • Libraries
  • Static typing
  • Compositional syntax
  • OO
  • Functional
  • Powerful
  • Paradigms
  • OO
  • Functional
  • Running scala
  • Anatomy of scala programs
  • Try the repl
  • Scalac
  • Scala interpreter
  • Sbt

1 Fundamentals

  • Language
  • Objects
  • Calling methods
  • Operators as methods
  • Values and variables
  • Types
  • Basic types
  • Boolean
  • Numeric types
  • Unit
  • Strings
  • String methods
  • Introduction to collections
  • Type arguments
  • Tuples, Lists, Maps

1 Flow

  • Branching, matching & selecting
  • Conditionals
  • Intro to pattern matching
  • Destructuring
  • For comprehensions
  • Yield vs Unit
  • Comprehensions over lists
  • Comprehensions over maps
  • Comprehensions over ranges
  • Option
  • Multiple extraction
  • Guards
  • Ranges
  • Let expressions
  • While loops

Day 2

2 Methods

  • Code blocks
  • Methods
  • Method bodies
  • Returning unit
  • Passing arguments
  • Variadics
  • Def vs val
  • Lazy vals
  • Lazy arguments
  • Recursion

2 Functions

  • What Is Functional Programming?
  • Pure Functions
  • Functions
  • The Function Type
  • ‘Function’ vs Method
  • Higher Order Functions
  • Functions as Data
  • Currying
  • Aside: Type Aliases

2 Collections

  • Review: types
  • Collections heirachy
  • Creating collections
  • Range
  • Array & array buffer
  • List & list buffer
  • Vector
  • Maps
  • Sets
  • Empty
  • Idioms
  • Pattern matching
  • For comprehnsions review
  • Zipping
  • Traits

Day 3

3 Transformation

  • Streams
  • Combinators
  • .map & .flatMap
  • Folding & Reducing
  • .exists and .forall
  • Option
  • For comprehensions
  • Foreach & Flatmap
  • Pattern matching
  • Review
  • Casting
  • Sequences
  • For-yield-match
  • Regex
  • Guards
  • Option

3 OO

  • Classes
  • Reading class definitions
  • Defining classes
  • Constructors
  • Properties
  • Method overloading
  • Java inspection of scala classes
  • Getters and setters
  • Operator methods
  • Objects
  • The object keyword
  • Companions
  • The mechanism of pattern matching
  • Case classes
  • Pattern matching with case classes
  • Aside: case objects

3 Inheritance

  • Inheritance: a type relation
  • Inheritance: class relationship
  • Overriding methods
  • Overriding tostring
  • Calling the parent method
  • Abstracts
  • Traits
  • Trait inheritance
  • Composing objects with traits
  • The meaning of super
  • Traits as mixins
  • Self types
  • Cake pattern
  • Aside: type members

Day 4

4 Design

  • Imports
  • Package objects
  • Algebra
  • Algebraic data types: defining
  • Algebraic data types
  • Example: document store
  • Tuples types
  • Generics
  • Type arguments
  • Variance
  • Special types
  • Option
  • Example: user data
  • Bad: exceptions
  • Try
  • Either

4 SBTest

  • Simple build tool
  • Build files
  • Creating a project
  • Dependencies
  • Project structure
  • Running tests
  • Sbt task runner
  • Testing
  • Type systems as tests
  • Using type systems
  • Assertions
  • Scala test
  • Flatspec
  • Featurespec
  • Matchers

4 Implicits

  • Implicit conversions
  • Implicit conversions: def
  • Implicit conversions: implicit classes
  • Implicit parameters
  • Contexts
  • Scoping
  • Type classes
  • Typeclasses with implicit classes
  • Without typeclasses
  • Typeclasses: generalizing
  • Typeclasses: implicit objects
  • Typeclasses: multiple instances

Day 5

5 HigherKinds

  • Review: Polymorphism
  • Review: Typeclasseses: Monoid
  • Scalaz
  • Sbt for Scalaz
  • Simple Typeclass: Equal
  • Simple Typeclass: Order
  • Simple Typeclass: Implementing Equal
  • Kinds
  • Higher-kinded Types: Functor
  • Generalizing Functor
  • Higher-kinded Types: Applicative
  • Monads

5 Appendix

  • Concurrency
  • Libraries





Contact us for more detail about our trainings and for all other enquiries!

Upcoming Trainings

Join our public courses in our Finland facilities. Private class trainings will be organized at the location of your preference, according to your schedule.

Classroom / Virtual Classroom
23 marraskuuta 2024
Helsinki, Espoo
5 Days
Classroom / Virtual Classroom
25 marraskuuta 2024
Helsinki, Espoo
5 Days
Classroom / Virtual Classroom
23 marraskuuta 2024
Helsinki, Espoo
5 Days
Classroom / Virtual Classroom
25 marraskuuta 2024
Helsinki, Espoo
5 Days
Classroom / Virtual Classroom
20 tammikuuta 2025
Helsinki, Espoo
5 Days
Classroom / Virtual Classroom
21 tammikuuta 2025
Helsinki, Espoo
5 Days
Classroom / Virtual Classroom
11 helmikuuta 2025
Helsinki, Espoo
5 Days
Classroom / Virtual Classroom
20 tammikuuta 2025
Helsinki, Espoo
5 Days
The Scala Programming Language Training Course in Finland

Finland is a country located in northern Europe. Helsinki is the capital and largest city of the country. The majority of the people are Finns but there is also a small Lapp population in Lapland, where the country is famous for the Northern Lights. Finland's national languages are Finnish and Swedish.

Known for its vast forests, lakes, and natural beauty, Finland is one of the world's largest producers of forest products, such as paper, pulp, and lumber. One of the world's largest sea fortresses Suomenlinna, Rovaniemi with the "White Nights", dogsled safaris and of course the Northern Lights are what makes Finland so popular for tourists. Finland is one of the best places in the world to see the Northern Lights and attracts millions of tourists during its seasons.

Finland is home to a thriving technology industry and is widely recognized as one of the world's leading technology hubs. Companies such as Nokia and Rovio (creator of the popular game Angry Birds) are based in Finland. Some of the key factors that have contributed to Finland's success in technology include; strong investment in research and development, a highly educated workforce and fundings.

Finland has a strong educational system, and is widely regarded as one of the world's most literate countries. In fact, Finland's literacy rate is one of the highest in the world, and its students consistently perform well in international tests of math and reading ability.

Also, as a pioneer in environmental sustainability, Finland is known for its efforts to reduce its carbon footprint and promote clean energy. This Nordic country is also famous for its unique and distinctive cultural heritage, including its traditional folk music and its elaborate traditional costumes.

Helsinki, Finland's capital city, is the country's business center. Helsinki is Finland's largest city, and it is home to many of the country's major corporations and organizations, including many of the country's leading technology firms. The city is also a commercial, trade, and financial center, as well as one of the busiest ports in the Nordic region.

Take advantage of our diverse IT course offerings, spanning programming, software development, business skills, data science, cybersecurity, cloud computing and virtualization. Our knowledgeable instructors will provide you with practical training and industry insights, delivered directly to your chosen venue in Finland.
By using this website you agree to let us use cookies. For further information about our use of cookies, check out our Cookie Policy.