Skip to content

Contact sales

By filling out this form and clicking submit, you acknowledge our privacy policy.

Introduction to Scala

Course Summary

The Introduction to Scala training course is designed to demonstrate how to migrate to the Scala programming language.

The course begins with a lesson on how to set up Scala and use basic constructs. Next, it explores how to craft higher order functions and integrate in and out of Java. The course concludes with a deep dive into understanding some of the harder concepts like mixing composition, extractors, pattern matching, abstract types, type classes, and more.

Purpose
Learn how to adopt Scala to efficiently build multi-core processing applications.
Audience
Existing Java developers looking to move to Scala.
Role
Software Developer - Web Developer
Skill Level
Intermediate
Style
Hack-a-thon - Learning Spikes - Workshops
Duration
5 Days
Related Technologies
Scala

 

Productivity Objectives
  • Distinguish the differences between Scala and Java
  • Build a simple Scala application
  • Integrate Scala with existing Java code

What You'll Learn:

In the Introduction to Scala training course, you'll learn:
  • Introduction to Scala
    • About Scala
    • Setting up SBT
    • The Language
  • Scala Syntax
    • Primitive and simple types
    • Control structures
    • Better Access Modifiers
    • Lazy Values
    • Currying
  • Objects and Classes
    • Classes and Objects
    • Nulls, Nothing, and Units
    • Case Classes
    • Abstract Classes and Basic Traits
  • Functions
    • Functions and Higher Order Functions
    • Functions from Objects
    • Partial Functions
    • Recursion
  • Collections and Monads
    • Lists
    • Buffers
    • Sets
    • Maps
    • Arrays
    • Streams
    • Vectors and Tries
    • Options
    • For-Comprehensions
  • Composition and Inheritance
    • Traits
    • Parameterized Types and Abstract types
    • Self types
    • Path Dependent Types
    • Type Safe Duck Typing with Structural types
    • Covariance, Invariance, Contravariance
    • TypeTags and Reflections
  • Pattern matching
    • Matching Lists, Options, Tuples, and Regular Expressions
    • Pattern Guards
    • Case Class and Sealed Case Class Matching
    • Custom Pattern Matching with Extractors
  • Implicits and Type Classes
    • Implicit Conversions
    • Implicit Parameters
    • Type Classes
    • View Bounds
    • Scala and Java Interoperability
  • Testing with Scala
    • ScalaTest with Easy Mock
    • Specs2 with Mockito
    • ScalaMock
    • ScalaCheck
  • Engineering with Scala
    • Dependency Injection with Java frameworks
    • Functional Patterns
    • Cake Pattern
    • Higher Kinded Types and Existentials
  • Actors and Concurrent Programming
    • Setting up Akka
    • About Akka
    • Actors & Supervision
“I appreciated the instructor's technique of writing live code examples rather than using fixed slide decks to present the material.”

VMware

Dive in and learn more

When transforming your workforce, it's important to have expert advice and tailored solutions. We can help. Tell us your unique needs and we'll explore ways to address them.

Let's chat

By filling out this form and clicking submit, you acknowledge our privacy policy.