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
Resource
Source
Description
Bite-size pieces of the essentials.
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.
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.
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
Download and solve practice problems. Submit the solution to the site for feedback. For code newbies and experienced programmers.
Free Intermediate Resources
Resource
Source
Description
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
Resource
Source
Description
Paid Introductory Resources
Resource
Source
Description
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.
Paid Intermediate Resources
Resource
Source
Description
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.
Paid Advanced Resources
Resource
Source
Description
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
Resource
Source
Description
ScalaFiddle is an online playground for writing and sharing Scala code.
Provides online scala console
Scala Kata is an interactive playground.
Blogs and Newsletters
Resource
Source
Description
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
References
Resource
Source
Description
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
Was this helpful?