Introduction to Scala

Introduction to Scala

Public courses


- Anyone can join the training
- Course outline as presented on the website
- Small groups, 3-10 people

Private courses

Price set individually

- Training workshop just for your team
- You choose date and location of the training
- Course outline tailored to your needs

About the training

Scala is the modern functional programming language whose name underlines its biggest advantage which is the scalability. Scalability of Scala is the consequence of the functional and object-oriented programming merging. The construction of Scala language is meant to satisfy Java programmers” needs and is supposed to increase the productivity and lower the costs at the same time.

Introduction to Scala enables to learn the most important elements and components of the language in just 2 days. The completion of the training provides you with a chance to begin your work with a  rapidly developing and up-to-date programming language.

Who is this training for?

The training was prepared for developers who want to learn writing in Scala. It will be especially helpful for:

  • developers
  • App architects
  • Analysts
  • Data Scientists

What will I learn?

  • Learn Scala syntax
  • Learn all important elements of Scala language: functions, classes, methods, attributes
  • Learn Scala types system
  • Learn Scala and Java interoperability
  • Use Scala for web apps development
  • Best practices of Scala programming

Course outline

  1. Introduction to Scala
    • Scala advantages
    • Scala installation
    • Interactive scripting with Scala
    • Compiling Scala programs
    • First program in Scala
  2. Scala Basics
    • Variables, Types hierarchy
    • Strings
    • Functions
    • Objects – Lists, Arrays, Range, Tuple
    • Constructs – if, for, while, try, match
    • Comments
  3. Functional programming with Scala
    • Clean functions
    • Anonymous functions
    • First and higher order functions
    • Scope, Currying
    • Function composition
    • Tail call
    • Evaluation strategies
  4. Object programming
    • Objects and classes
    • Packages and import
    • Inheritance
    • Traits
    • Case and Value classes
    • Scala differences with  Java and Ruby
  5. Pattern Matching
    • Basics of pattern matching in Scala
    • Case classes and pattern matching
    • Functional pattern matching
  6. Collections
    • Types hierarchy
    • Immutable classes – Vector, List, Range, Stream, Tuple, Map
    • Mutable classes
  7. Traits
    • Where are traits?
    • Defining traits
    • Abstract trait members
    • Dynamic binding of traits
    • Traits dependencies
  8. Types system in Scala
    • Unification
    • Types parametrization
    • Abstract type
    • Implicit class
  9. Scala and Java integration
    • From Java to Scala classes
    • JavaBeans and Scala classes
    • Exceptions
  10. Additional elements of Scala
    • Domain Specific Language
    • Parser combinator
    • Simple Build Tool
  11. Web applications with Scala
    • Frameworks Lift and Play2
    • Standalone distribution
    • Activator distribution
    • Actions, Controlers, output
  12. Good practices with Scala
    • Clear functions
    • Leverage type inferencing
    • Refactoring mercilessly
    • Functions and classes

Course Curriculum

Curriculum is empty


Send an enquiry

I am interested in


Enquire about the private (on-site) training course

I am interested in


Enquire about the public training course

I am interested in

Szybki kontakt