Scala Training Online is dedicated to providing online courses for people who want to learn how to program in Scala and related technology.

The Scala programming language is rapidly growing in popularity. There are many reasons for this, including tremendous scalability, a natural melding of object-oriented and functional capabilities, and the ability of Scala programs to interoperate with legacy Java code. Even though Scala presents a significant learning curve, benefits accrue almost as soon as programmers start to work with Scala. Machine learning / big data programmers have embraced Scala, and teaches language basics in a practical manner.

Both instructor-led and self-study options are offered. The course materials proceed methodically, so beginners through experienced Scala programmers alike will quickly learn valuable techniques, useful information, and gain practical experience. The material is introduced through many short lectures with working examples and self-discovery techniques. Just enough theory is introduced to gain an intuitive understanding of how to work with the concepts presented.

Learn the Way That Works for You

In addition to self-paced online learning, offers on-site and remote delivery and/or tutoring for this course. A combination of online training with videoconferencing (which we call office hours) is available. Please contact us for further details. provides a more effective learning experience than reading books or taking in-person courses. The site describes the advantages in detail.

  • Learn at your own speed – spend an hour a day or entire days learning, according to your schedule.
  • Material is presented as videos with complete, illustrated transcripts with working code projects. You can create a PDF of an entire course at any time.
  • More material is presented in each of our online courses than could be presented during an in-person course, at a fraction of the cost.
  • Presentation of new concepts is more effective when delivered via a video. See the instructor 'at work' on their computer, not at a blackboard. Animated videos help you quickly understand what is being said.
  • Books are obsolete by the time they are finished. After you attend an in-person course, the experience is over. helps you stay up-to-date. We update our courses regularly, and we provide a revision history for every lecture and every course. Each time we update a lecture we also tweet about the update, so follow @scalacourses on Twitter to stay up-to-date.
  • Want to talk with an instructor? offers several options. Please contact us for more details.
    • On-demand one-on-one sessions using video chat.
    • Regularly scheduled group sessions using video chat (this provides best value).
    • Traditional in-person on-site training, world-wide.

You can learn more about the courses by clicking on them.

About the Courses

These are a hands-on courses. Please don't just read the notes, try every code example yourself so you type along with the material.

If you are enrolled in a course you will see the following tabs on each course page:

  1. The Revision History tab shows the changes made to the course, and when they were made, along with a clickable link to the lecture that was changed. Each lecture has its own Revision History tab; the course-level Revision History aggregates the individual Revision Histories from all of the lectures.
  2. Use the Outline tab as a way to quickly find and navigate to any lecture in the course.
  3. The Printable transcripts tab allows you to print out a transcript of the entire course by press Ctrl-P (Cmd-P on Mac). If you select a PDF printer then you can make a PDF containing the course notes. We recommend Google Chrome for making PDFs.
  4. The Course Details tab shows a link for downloading the course project as a Zip file and the git command to clone the course project as a git repository. The project home contains information about the course notes, and the issue tracker.

How to Study These Courses

  1. Watch a lecture's video. The material is dense and is presented quickly. Pause the video and rewind any portions that you didn't quite get at first.
  2. Try the code examples in the order they are presented. Pause the video frequently so you can try the code you just saw. Refer to the transcript so you can cut and paste the code; this will make your experimentation process more productive.
  3. When you encounter an exercise, pause the video when prompted and attempt to work out the answer yourself. Learning only happens when you try to apply new information. Getting stuck is part of the learning process. When you are ready, continue the video so you can view the answer.
  4. Read the lecture transcript. Transcripts are often more up-to-date than the video and contain more information, such as clickable links.
  5. Explore the links.
  6. If you have a question after doing all of the above, please ask for help from an instructor.
  7. Move on to the next lecture.


If you encounter a problem or have a question, and you are taking a live class, please talk with the instructor right away. If you are studying on your own and need to communicate with an instructor, email help and live TA sessions are available. If you find a error in the course material or wish to offer a suggestion, please use the Issue Tracker. We are also available via @ScalaCourses.

Course Evaluations

We would appreciate you taking the time to fill out the evaluation at the end of the course.

Get Scala - Click and Find Out How!

Scala allows you to write clean and powerful code in a brief and concise manner. provides the best learning experience, and is also the best value for learning Scala. Be proactive – get the edge with our self-study and instructor-led training. Please contact us for information about instructor-led training. Learn Scala today!

Course: Introduction to Scala

This course has 30 lectures, 80 sample programs and over 7 hours of video. The lectures and working code examples are kept up-to-date with the latest Scala 2.12 information each time the compiler team releases a new milestone. Students should be proficient in another computer language, such as Python, Ruby or Java. This course is a recommended prerequisite for the Intermediate Scala course.

Course: Intermediate Scala

This course has 35 lectures, over 100 sample programs, many exercises with solutions and 10 hours of video. The lectures and working code examples are kept up-to-date with the latest Scala 2.12 information each time the compiler team releases a new milestone. This course is a recommended prerequisite for our Introduction to Play Framework for Scala course, and for machine learning / big data work. You should take our Introduction to Scala course first, or be familiar with that material before starting this course.

Course: Wildcard SSL Certificates for Federated Services

This course has 5 lectures, a sample webapp and an hour of video. This course is important for devops, since it covers a mixture of operating system-level information, practical security guidelines, hands-on practice using cloud services and tips for Play Framework for Scala webapps. Up-to-date software tools are provided so students can enable SSL support using current best practices. Explicit directions are given so your web site can achieve a score of A+ in the SSL Labs Security assessment. Click the link above to read the detailed course description.

Logged-in students can download course notes and lecture videos. We update transcripts and videos frequently, and provide release notes for each course and lecture. Enrollment is for 365 days, and students automatically get updates as they are released. Students can renew their enrollment for a fraction of the original price.

Early Access Program

Early access students can work with the course material prior to official release. If you would like to participate, please read the program rules, click on a course link below, and sign up by clicking on the orange "Add to cart" button. New material is made available as each lecture is written and recorded.

Course: Introduction to Play Framework for Scala, 40% off!

Learn how to configure, develop and test Play Framework 2 applications using Scala. This course is up-to-date with Play Framework 2.4.3 information in the lectures and code examples, and information about the upcoming Play Framework 3.0 is added as it becomes known. Regular price is $450 – now only $275. Most of the lecture transcripts and sample code have been written. Over 4 hours of video are currently available, with more on the way.


"I love your videos. I've bought 3 courses so far."
Andrew Rubalcaba, Plano, TX USA.

"I like the pace (fast) and the content (deep). I’m glad I made the investment."
Kirk Sullivan, Orlando, FL, USA.

"This course is way more practical than other ones I have tried. Excellent!"
 – Riku Karjalainen, Helskini, Finland.

"I've been looking between Scala and Clojure recently. Your videos/responsiveness are keeping me in Scala land."
 – Marcos Trinidad, New York, NY, USA.

"The video production seems exceptionally painstaking."
 – N. Sriram, Philadelphia, PA, USA.

"Your process of continuously improving and updating the course material is a very important differentiator. My interest is using Scala with Spark and other machine learning applications. Another very important feature of is the ability for users to easily search the video transcripts."
 – R. Sargeant, Birkdale, Queensland, Australia.

"One of the many things I like about these courses is that they are filled with explanations of reality. I've taken the Functional Programming and Reactive Programming courses at Coursera, read multiple books on Scala, attended Scala meetp-up groups, listened to video lectures and presentations on Scala and done lots of exercises on my own over the past two years. I still learn lots from because the courses are filled with gems of practicality and reality that I've not found in books or other materials. The explanations are crisp and clear. The courses manage to keep a fine balance between not requiring a lot of prior knowledge, while still address the topic in a deep, meaningful way."
 – Bill Bourne, Ottawa, Canada.

" is a tremendous resource for developers looking to leverage Scala to and from Java, and presents useful information for maximizing productivity."
 – Jamie Allen, Sr. Director of Global Services, Typesafe, San Francisco, CA, USA.

"I encourage everyone interested in learning about Scala to enroll in online courses."
 – Scott Clasen, principal engineer, Heroku, San Francisco, CA, USA.

" is good stuff!"
 – Debasish Ghosh, author of “DSLs In Action”, Kolkata, India.

"These courses are what I wished for when I was learning Scala."
 – Mike Slinn, Half Moon Bay, CA, USA.