Assuming I have been able to convince you to learn Scala, as a good friend, I won’t throw you into the deep end with no guide.

Here are few resources I believe will help you fully learn Scala and accelerate the process :

  1. Atomic Scala : This book assumes the reader has no prior programming experience. It introduces solution patterns and syntax. It provides the reader with the foundations of programming and Scala. It could be the first book you use in learning Scala but not the last.

    Atomic Scala

  2. Big Data University’s Introduction to Scala : This is a series of videos on Scala that can be completed within 6-8 hours. It is assumed you have no prior knowledge of Scala but have some programming experience. The videos were created by Typesafe (now known as Lightbend)

    Big Data University

  3. Learning Scala : This book is a comprehensive introduction for beginner and intermediate programmers to Scala. It contains syntax diagrams, examples, and exercises. You’ll start with Scala’s core types and syntax before diving into higher-order functions and immutable data structures. This book is a great place to start for student, intermediate or experts that aren’t familiar with the Java stack and is about 220 pages long.

    Learning Scala

  4. Scala Cookbok : Although I wouldn’t advise anyone to use a cookbook in learning a language or framework as they give the learner a shallow understanding of the available features and design decisions.

    This book gives the reader an overview of the language, it can also be used as a quick reference which is what I use it for most times. It is well written and approachable.

  5. Joel Abrahamsson’s Learning Scala : This is a series of blog posts on Joel Abrahamsson’s adventures in learning scala. It is a short series but gives the reader a easy way to approach learning Scala. It is mostly suited for novices and beginners.

  6. Functional Programming Principles in Scala on Coursera : This coursera course is taught by Martin Odersky - the creator of scala. It focuses on programming in Scala using the functional paradigm and gives a great overview of the language. The course could span about seven weeks and is suited for intermediate programmers.

  7. Programming Scala Programming Scala gets you up to speed on Scala, it is also packed with code examples. This book shows you how to be productive with the language and ecosystem and is quite comprehensive and easy to read.

    Programming Scala

  8. Programming in Scala : This book is written by some of the core maintainers and developers of Scala - Martin Odersky, Lex Spoon, and Bill Venners . It is a detailed and definitive guide to Scala. It provides great insights on the language’s features with detailed examples. There is a free online version of the book.

    Programming in Scala

  9. Twitter Scala School : This resource started as a series the of lectures at twitter to prepare experienced engineers to be productive Scala programmers. The lessons are quite concise and properly organized. It is suited for intermediate programmers who have programming experience and quickly want to grasp Scala concepts.

  10. Scala Tour : This is similar to twitter Scala School in its concise nature. It provides an overview to the main features of Scala. It also allows you to run and test your code as you learn.

  11. Scala Exercises : I believe this resource should be used by anyone learning Scala. It is a set of Scala exercises that have sections on Scala features. It is an open source project actively maintained by 47 Degrees. It is one of my best Scala resources and one that I have contributed to.

As you progress with learning scala, you can try solving the 99 problems and project euler problems using scala.

Another good resource is pavel fatin’s Scala Collections Tips and Tricks.

Know of other awesome resources ? have questions ? please do comment and share.

Wishing you a smooth Journey in Scala ; )