Introduction to Scala


This course is the logical beginning for new Scala programmers. Students should already be proficient programmers in another language, such as Java or Ruby. We recommend that students who intend to work with Play Framework or big data/machine learning software such as Apache Spark first complete this course and the Intermediate Scala course.

This course is based on code samples that can be pasted into the Scala REPL, and that code is also provided in the accompanying git repository. The course also highlights IntelliJ IDEA’s Scala support. The material has already been updated for Scala 2.12.


The course consists of 43 lectures spanning 8 hours of video, over 450 pages of lecture notes (if printed as an O’Reilly-sized book), more than five-dozen sample programs and about a dozen exercises. Students should expect to spend at least 40 hours working through the material.


After having participated in this course students should:

  • Be familiar with the Scala toolchain, including the REPL SBT, Atom and Sublime editors and IntelliJ IDEA and Scala-IDE
  • Know how to set up and work with typical SBT projects
  • Be familiar with Scala's object-oriented capability
  • Understand how to write and run Scala unit tests
  • Be familiar with functions as objects and closures


Developers who wish to learn how to read and write Scala code for applications and work with libraries.


Students should already be a proficient programmer in another language, such as Java or Ruby.

Setup Requirements

None. This course discusses setup in detail over several lectures.


See the course description for a detailed outline, including a free overview video and revision history.