Learn by Example : Scala (Packt Publishing, 2017)
"This course will help clarify why we even need Scala when Java serves us so well. The little details that matter: pattern matching, if expressions, for loops & yield; Java has if-statements, while Scala has if-expressions. Differences like these matter, this course will cover them ... Collections: lists, options, the details of fold/reduce/shift in Scala are yet another bit of the language that differs significantly from other traditional object-oriented languages. We will spend a lot of time on these topics too. classes, companion objects, traits, self types and dependency injection are Scala's way of providing object oriented support. Some of these concepts are similar to Java; those we will skim over. Others are quite different; we will be sure to cover these in detail."--Resource description page