Introduction to Scala

The Introduction to Scala training course is focused on helping existing Java developers migrate to the Scala programming language.

Scala is one the latest and well-vetted languages to come to the JVM. It is a multi-paradigm language where both functional programming (like LISP, Haskell) come together with an imperative programming (Java, C++).

In the Introduction to Scala training course, you will learn how to set up Scala, use basic constructs, craft higher order functions, integrate in and out of Java, and delve deep into understanding some of the harder concepts like mixin composition, extractors, pattern matching, abstract types, type classes, and more.

Course Summary

Purpose: 
Learn how to adopt Scala to efficiently build multi-core processing applications.
Audience: 
Existing Java developers looking to move to Scala.
Skill Level: 
Learning Style: 

Hands-on training is customized, instructor-led training with an in-depth presentation of a technology and its concepts, featuring such topics as Java, OOAD, and Open Source.

Hands On help
Duration: 
5 Days
Productivity Objectives: 
  • Learn 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

Meet Your Instructor

Daniel pic
Daniel

Daniel has been a self-employed developer, teacher and speaker for private businesses, education and government entities since 1999. Daniel also actively teaches programming for the University of New Mexico Continuing Education.

Daniel is a Pomodoro Technique practitioner, and co-founder of the Albuquerque Java User’s Group in Albuquerque, New Mexico. When he’s not supporting other local Java developers, Daniel spends most of his waking hours developing in and around the Java ecosystem, encompassing...

Meet Daniel »
Photo of julian
Julian

Julian first touched fingers to keypunch in 1972, punching Fortran code onto cards at Imperial College in London (England, that is) and soon moved onto Macro-11 programming on PDP-11s. This qualifies him as a Real Programmer, and until recently, he even had a PDP-11 in his garage at home to remind him of better times.

He learnt Fortran while becoming a geologist at Imperial College, but he has never practised in the rock business, as he succumbed to the...

Meet Julian »

Contact us to learn more

Not all training courses are created equal. Let the customization process begin! We'll work with you to design a custom Introduction to Scala training course that meets your specific needs.

DevelopIntelligence has been in the technical/software development learning and training industry for nearly 20 years. We’ve provided learning solutions to more than 48,000 engineers, across 220 organizations worldwide.

About Develop Intelligence
Di Clients

surveyask

Need help finding the right learning solution?   Call us: 877-629-5631