More Resources

Scala Community

The "official" Scala Community page lists popular ways to connect with the Scala community including:

  • Mailing Lists

  • Chat Rooms

  • User Groups

  • Conferences

  • Stack Overflow

  • Reddit

  • Sources of Scala News

  • Community-powered learning resources

  • Community Libraries and Tools

Additional Resources

The learning resources provided below are classified two ways:

  • by cost:

    • Free

    • Paid

  • by learning level required:

    • Intro - no prior experience is required

    • Intermediate - you know the basics

    • Advanced - you know the language or where to get help

While the learning level shown is the suggested starting knowledge level for the resource, the resource may contain a progression of material that covers more advanced topics.

Free Introductory Resources




Bite-size pieces of the essentials.

The "Stairway" Book - This book is the authoritative "step-by-step" tutorial on the Scala programming language, co-written by the language's designer, Martin Odersky. The main target audience for this book is programmers who want to learn to program in Scala.General programming knowledge is assumed. The Third Edition is now available for purchase. It has been updated to cover new features up to and including Scala version 2.12

An aggregate of stackoverflow questions, plus links to other resources. An online book of information.

To help learn Scala faster, a series of small examples, each of which highlights one or two aspects of the language.

This step-by-step guide will walk you through learning Scala from scratch on your own. We've pulled together the best, most trusted resources from industry experts on each topic to make sure that you're spending your time efficiently and learning Scala the right way.

Contains direct links to Scala Cookbook recipes, which are now available on author's website.

This book teaches the Scala language to both programming beginners and those who have already programmed in another language. The first 100+ pages of the book are available as a PDF download.

Free training from Lightbend for "aspiring or seasoned Data Scientist (or Data Engineer) who is planning to work with Apache Spark to tackle Big Data with ease."

Creative Scala is aimed at developers who have no prior experience in Scala. It is designed to give you a fun introduction to functional programming. The course textbook is free, complete with exercises and solutions.

Take a whirlwind tour of Scala. Community-driven!

An adaptation of the Ninety-Nine Prolog Problems written by Werner Hett at the Berne University of Applied Sciences in Berne, Switzerland, altered to be more amenable to programming in Scala.

Koans are small lessons on the path to enlightenment. The aim of the Scala Koans project is to provide an easy learning environment in Scala. Your insight will be derived by encountering failing tests and fixing them so that they pass. A testing framework is used to simplify this process and to get you off to a good start with using Scala.

Basic Scala Introduction using IntelliJ IDEA. Includes setup instructions for IDEA.

A rapid introduction to Scala for programmers who are competent in Java, C#, or C++. “Currently the best compact introduction to Scala” —Martin Odersky Lightbend provides a free download of Chapters 1-11, 139 pages. Chapters 14, 16, 17, 19 are also available.

12 Scalatest tutorials that didn't make it into Scala Cookbook

A collection of best practices, friendly to people that want to contribute.

One huge Scala reference card. Based on Programming in Scala, 2nd edition.

CheatSheet for the scala language

This is the “secret slide” from my recent talk Learning Functional Programming without Growing a Neckbeard, with links to the sources I used to put the talk together and some suggestions for ways to get started writing Scala code.

Download and solve practice problems. Submit the solution to the site for feedback. For code newbies and experienced programmers.

Free Intermediate Resources




Takes you through the Scala features with many examples. It does assume that you are already familiar with the basic Scala syntax and a basic understanding of functional programming. It is an excellent way to expand your knowledge and skill.

A blog series targeted at aspiring Scala enthusiasts who have already made their first steps with the language and are looking for more detailed explanations.

A new Scala mini-degree offered on Coursera. Composed of: 4 courses, one capstone project - A significant 4-5 week long final programming project. Note: only the first 3 courses are currently available.

A programming kata is an exercise which helps a programmer hone his skills through practice and repetition.

Free Advanced Resources




Functional Programming in Scala is a serious tutorial for programmers looking to learn FP and apply it to the everyday business of coding. Lightbend provides 2 sample chapters for free and a promotional 40% off the purchase price at Manning.




Search results for all Scala courses

This Introduction to Scala course covers the fundamentals and is designed to give you a variety of hands-on experiences with Scala. The unique features of Scala are introduced, including object-oriented and functional aspects. Software tools are discussed in detail, including SBT, both leading IDEs (IntelliJ IDEA and Scala-IDE), and several options for programming Scala without an IDE. Exercises are provided throughout that reinforce the lecture material.




A variety of books, videos and training classes, including Essential Scala, Advanced Scala with Cats, Essential Shapeless, Essential Play, Essential Slick, Essential Lift, Essential Distributed Systems, and Essential Scala Macros.

A comprehensive and up-to-date introduction to Scala. It covers the features of Scala version 2.11.

This Intermediate Scala course builds on the Introduction to Scala course. Many concepts and techniques are introduced, with lots of working code examples and exercises, including functional programming, implicits, process control, I/O, collections, pattern matching, combinators, partial functions, application configuration techniques, memoization, and multithreading (including parallel collections, Futures, Promises and Akka Actors).

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.




Functional Programming in Scala is a serious tutorial for programmers looking to learn FP and apply it to the everyday business of coding. Lightbend provides 2 sample chapters for free and a promotional 40% off the purchase price at Manning.

This book goes beyond simple Scala usage and covers some advanced topics. It explores techniques and libraries that are usually considered non-trivial and shows why they are useful in real projects.

This "Introduction to Play with Scala" course covers the fundamentals of Play Framework for Scala programmers. Exercises are provided throughout that reinforce the lecture material. The material builds from lecture to lecture, so be sure to go through the material from start to finish. Several complete working sample Play Framework projects are provided and discussed in detail.

Other Information Resources

Online Coding




ScalaFiddle is an online playground for writing and sharing Scala code.

Provides online scala console

Scala Kata is an interactive playground.

Blogs and Newsletters




This week in #Scala

This blog aims to keep you up to date with the latest news from the world of Scala and Reactive programming.

Scala Tutorial Blog Posts





Awesome Scala is a community effort. The primary listings are based on the Scala Community listed Awesome Scala list at GitHub. Also home of Awesome Scala Newsletter.

This guide draws from our experience coaching and working with engineers contributing to Spark as well as our Databricks engineering team.

A variety of free e-books and chapter downloads

This aims to be a comprehensive reference to all scala-related resources I collected through the years. Look elsewhere if you need a shorter or more focused compendium.

Last updated