Programming in Scala: A Comprehensive Step-by-Step Guide

This book is the one to own if you are serious about learning Scala. Most scala courses use it as the textbook which is not very surprising since it is written by the designer of the language, Martin Odersky. It takes a step-by-step tutorial approach to teaching you Scala. Starting with the fundamental elements of the language, Programming in Scala introduces functional programming from the practitioner's perspective, and describes advanced language features that can make you a better, more productive developer.