Learning Scala is an introduction and a guide to getting started with functional programming (FP) development. Written for programmers who are already familiar with object-oriented (OO) development, the book introduces the reader to the core Scala syntax and its OO models with examples and solutions that build familiarity, experience and confidence with the language. The more challenging topics of Scala development (immutable data, anonymous functions, strong typing, flexible syntax) are introduced later in the book and build on the earlier problems to assist understanding. New concepts will be demonstrated and explained before being used in coding problems or samples so that readers will be able to progress through the chapters sequentially and not be forced to browse for answers. Scala has a deserved reputation as being difficult to learn, with a steep and extensive learning curve and unfamiliar syntax. This book is designed to address those difficulties.