A community driven list of useful Scala books, tutorials, online courses, interactive tools, etc. Inspired by awesome-scala.
Books for learning Scala.
- Programming in Scala - Highly recommended if you're new to Scala. This book is the authoritative tutorial on the Scala programming language, co-written by the language's designer, Martin Odersky. First edition is free online: (http://www.artima.com/pins1ed/)
- Scala for the Impatient - A rapid introduction to Scala for programmers who are competent in Java, C#, or C++
- Scala Cookbook - A book with more than 250 ready-to-use recipes and 700 code examples, this comprehensive cookbook covers the most common problems you’ll encounter when using the Scala language, libraries, and tools.
- Scala in Action - A book containing comprehensive tutorials that introduces Scala through clear explanations and numerous hands-on examples
- Scala By Example - A free book by Martin Odersky showing various examples coding in Scala.
- Scala in Depth - A guide book to using Scala with deep dives into necessary topics.
Tutorials for learning Scala.
- A Tour of Scala - A comprehensive tutorial with digest bite-size pieces of the essentials.
- Scala School - A series of lectures at Twitter to prepare experienced engineers to be productive Scala programmers..
- Effective Scala - A tutorial for learning "best practices" for Scala. Useful for understanding idioms in Twitter's code.
- A Scala Tutorial for Java Programmers - A tutorial intended for people who already have some programming experience in Java and want an overview of what they can do with Scala.
Online courses for learning Scala.
- Functional Programming Principles in Scala - A free coursea online course introduces the cornerstones of functional programming using the Scala programming language.
- Principles of Reactive Programming - A follow-on for the Coursera class “Principles of Functional Programming in Scala”, teach the principles of reactive programming. Reactive programming is an emerging discipline which combines concurrency and event-based and asynchronous systems.
Interactive tools for learning Scala.
- Simply Scala - A web site where you can interactively run the Scala interpreter in your browser. Consists of tutorials that gives a rapid overview of the basic language features, the syntax, examples you can run and the ability to try your own code with an interactive interpreter.
Presentations slides for learning Scala.
- Crash Course on Scala - A set of lecture slides showing Scala in a nutshell.
Your contributions are always welcome! Please submit a pull request or create an issue to add a new list item or category to the list. Do not submit an item that is not a learning resource.