Professional Scala Training

Professional Scala Training

Course Length:
Delivery Methods:
Course Topics
  • Learn to write Scala applications.
  • Learn to effectively participate in existing Scala projects.
  • Learn to recognize and use typical idioms and patterns.
  • Learn to identify the principles of functional programming and know the essence of advanced functional patterns.
Course Overview

Equip yourself with writing efficient and powerful code that can be easily managed. This fast-paced Professional Scala training class leads you through the functional and object-oriented concepts that are used in Scala.

You’ll learn how to write safer and stable code by using pure functions and immutable data structures.

Scala is a general-purpose programming language, combining elements of object-oriented with functional programming. It is backed by a strong type system and is designed to be concise.

This course is ideal for experienced developers who are interested and wants to learn about the advanced features of Scala language. Prior exposure to basic Scala programming is required, as we skim through the basics and get straight to work.

Course Outline
  1. Getting Started with Scala
    1. Setting up the Development Environment
      1. Structure of a Scala project
      2. Use of Scala's sbt tool
      3. Using the IDE
      4. Implement interactions with a simple chatbot
    2. Basic Language Features
      1. Structure of non-trivial Scala programs
      2. Main object-oriented facilities: objects, classes, and traits
      3. Syntax and parameter-passing modes
    3. Functions
      1. Basics of functional programming
      2. Basics of generic types in Scala
      3. User-defined pattern matching
      4. Use functional compositional patterns
  2. Scala Collections and Type System
    1. Scala Collections
      1. Scala collections available in the standard library
      2. Higher-order Functions
      3. Design principles for working with Scala collections
    2. Scala Type System
      1. Scala type hierarchy
      2. Features provided by the Scala type system
      3. Abstractions in the Scala type system
    3. Implicits
      1. How the Scala compiler handles implicits
      2. Design patterns that implicits enable
      3. Common issues that may arise by overusing implicits
  3. Building Code using Functional Programming
    1. Functional Idioms
      1. Core concepts of functional programming
      2. Ppopular functional programming design patterns
      3. Implement Cats and Doobie in your own Scala projects
    2. Domain Specific Languages
      1. IDomain Specific Languages (DSLs)
      2. The DSL ScalaTest
      3. Design your own DSLs in Scala
Class Materials

Each student in our Live Online and our Onsite classes receives a comprehensive set of materials, including course notes and all the class examples.

Class Prerequisites

Experience in the following is required for this Scala class:

  • Prior exposure to basic Scala programming.
Request a Private Class
  • Private Class for your Team
  • Online or On-location
  • Customizable
  • Expert Instructors
Request Pricing