Scala Programming Introduction


Scala may be the next wave in developer productivity. It is concise, object-oriented, functional, offers support for concurrency, but is compatible with Java and is JVM – based. For this reason, Scala has been attracting the interest of many programming shops. However, these advantages are only possible through an effort of study. The Scala Programming course is designed to help this process through hands-on training.

This course teaches how to understand the essence of Scala and write functional programming software that is functional and “scalaesque” enough.


  • Learn one of the hottest languages
  • Be a productive programmer with Scala
  • Learn the best software development practices with Scala


Developers, architects


50% lectures,  50% hands-on labs


3 days


  • comfortable with Java programming language
  • Java knowledge may be substituted with C#, PHP, or similar

Lab environment

Students should bring a reasonably modern laptop with the following

  • JDK 8  or 9
  • Scala
  • Scala programming IDE, such as IntelliJ IDEA (recommended), Eclipse, or NetBeans.

A cloud-based environment can be provided if needed

Detailed Outline

  • Scala – a scalable language
  • First steps and basic tasks
  • Classes and objects
  • Basic types and operations
  • Functional objects
  • Control structures
  • Functional objects
  • Control abstractions
  • Composition and inheritance
  • Scala hierarchy
  • Traits
  • Testing in Scala
  • Case classes
  • Lists and other collections
  • Mutable objects
  • Type parameterization
  • Abstract members
  • Implicits
  • From loops to collections
  • Collections in depth
  • Extractors
  • Annotations
  • Futures and concurrency
  • Scala GUI