Professional Scala Training

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.

Goals
  1. Learn to write Scala applications.
  2. Learn to effectively participate in existing Scala projects.
  3. Learn to recognize and use typical idioms and patterns.
  4. Learn to identify the principles of functional programming and know the essence of advanced functional patterns.
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.
Preparing for Class

Training for your Team

Length: 3 Days
  • Private Class for your Team
  • Online or On-location
  • Customizable
  • Expert Instructors

What people say about our training

Best instruction for all levels!
Kirsty Dickson
St Marks College
The instructors are very knowledgeable and experienced. Also, the course work was geared towards our specific technology needs adding real time benefit to our organization.
Chad Cotter
Apollo Group
Our instructor was very courteous, intuitive and a good teacher. The class itself was very informative and gave me new insight into XML and XSLT so that I can perform my job better.
Jay Yedinak
The Boeing Company
I would definitely recommend this instructor for any of the .NET training courses.
Jesse villarreal
Bell Helicopter, Textron Inc.

No cancelation for low enrollment

Certified Microsoft Partner

Registered Education Provider (R.E.P.)

GSA schedule pricing

60,299

Students who have taken Instructor-led Training

11,648

Organizations who trust Webucator for their Instructor-led training needs

100%

Satisfaction guarantee and retake option

9.28

Students rated our trainers 9.28 out of 10 based on 28,219 reviews

Contact Us or call 1-877-932-8228