Learn Scala from the best Scala tutorials, including the most popular Scala online courses, videos, books, podcasts, and blogs.

Resource type
Skill level

Scala: Learn by Example

These 65 examples will help you trust Scala the way you trust Java. Each is self-contained, has its source code attached, and gets across a specific Scala use-case. Each example is simple, but not simplistic.

Scalatra in Action

Scalatra in Action introduces the Scalatra framework and the Sinatra model. It covers the framework in its entirety, starting with concepts like request routing, input handling, actions, and HTTP responses, then proceeds to more advanced topics.

Practical Probabilistic Programming

Practical Probabilistic Programming introduces the working programmer to probabilistic programming. In it, you'll learn how to use the PP paradigm to model application domains and then express those probabilistic models in code.

Get Programming with Scala

Scala is a multi-style programming language for the JVM that supports both object-oriented and functional programming. Master Scala, and you'll be well-equipped to match your programming approach to the type of problem you're dealing with.

Hands-on Scala Programming

Hands-on Scala teaches you how to use the Scala programming language in a practical, project-based fashion. This book is designed to quickly teach an existing programmer everything needed to go from "hello world" to building production applications like interactive websites, parallel web crawlers, and distributed systems in Scala.

Functional Programming Principles in Scala (Coursera)

In this course you will discover the elements of the functional programming style and learn how to apply them usefully in your daily programming tasks, such as modeling business domains or implementing business logic. You will also develop a solid foundation for reasoning about functional programs, by touching upon proofs of invariants and the tracing of execution symbolically.

Modern Web Development with Scala

A concise step-by-step guide to the Scala ecosystem This book takes a very practical approach to teaching Scala. It begins by showing you just enough basics to get started and then guides you through the process of building a technology-packed real-world Web application using popular backend and frontend technologies. Overall, the book provides a great introduction to the Scala ecosystem.

Mastering Advanced Scala

This book goes beyond simple Scala usage and covers some advanced topics. It explores techniques that are usually considered non-trivial and shows their use in real projects. We cover type classes, iteratees, category theory and look at some purely functional libraries. If you already know Scala but want to go deeper, this is the book for you

Programming in Scala

This book is a tutorial for the Scala programming language, written by people directly involved in the development of Scala. Our goal is that by reading this book, you can learn everything you need to be a productive Scala programmer. All examples in this book compile with Scala version 2.7.2.

Scala School

Scala school started as a series of lectures at Twitter to prepare experienced engineers to be productive Scala programmers. Scala is a relatively new language, but draws on many familiar concepts. Thus, these lectures assumed the audience knew the concepts and showed how to use them in Scala.

Effective Scala

Scala is one of the main application programming languages used at Twitter. Much of our infrastructure is written in Scala and we have several large libraries supporting our use.