Escalate Logo
NEW! Take our courses online with Parleys


We offer both corporate training courses, for a class size of up to 24 students, and regular open enrollment classes with a pre-defined agenda, scope and length.

Take Our Training Online with Parleys!

Training is an essential first step for successful adoption of Scala in your company or on your project. The skills gained from our courses will accelerate your ability to be productive with Scala techniques and tools, and enable you to more quickly find and use the libraries and frameworks that make sense for your needs.

Whether custom or open-enrollment, our training spans theory and practice, with hands-on exercises to drive home the most important points and keep the training lively, entertaining and engaging. It is an approach that has proven very popular with our previous attendees.

Custom Training

We will work with you to understand your needs and tailor a course that matches the needs and existing experience and skills sets of the attendees, as well as the duration you desire. We will help advise on course content when appropriate, for example if we consider inclusion of one topic fundamental to understanding another, we will make that clear up front.

With our custom training courses, you have the freedom to request topics beyond those we cover in the open-enrollment training courses, and if we can accomodate you we will. Some topics may prove to be of greater scope than we can provide in-depth training for. We can always provide an overview, but are also happy to help engage our friends in the wider Scala community for more in-depth coverage of specific topics.

For an idea of the kind of modules we offer as part of our regular, open-enrollment training courses, please see the section below. 

Open Enrollment Courses

We regularly offer set courses that any one can sign up for, although we limit attendance to 24 students to maintain a good learning experience for everyone. Since Bill and Dick teach these courses together, we have a good teacher/student ratio and you will find us attentive and helpful with questions and problems.

We offer two courses covering Scala applied and advanced topics. Both courses assume that attendees have skills and experience in at least one other development language. The advanced course assumes some prior knowledge of Scala (for details, see below). Registrants may choose to attend either or both of the courses, which typically happen during the same work-week. The first three days of the week concentrates on the fundamentals and/or providing a refresher of the skills that will be necessary for the advanced and applied topics handled in the final two days.

Stairway to Scala: Part I. Applied Topics

Duration 3 days
No Scala knowledge is assumed, but students should be proficient in at least one other programming language, for example: Java, Ruby, C#, Python, etc.


  • First Steps in Scala
  • Next Steps in Scala
  • Classes and Objects
  • Built-in Control Structures
  • Functions and Closures
  • Composition and Inheritance
  • Scala's Heirarchy
  • Traits
  • Packages and Imports
  • Assertions and Unit Testing
  • Case Classes and Pattern Matching
  • Partial Functions
  • Actors with Akka
  • Lists and Collections
  • Integrating with Java
  • Using Third Party Libraries

Stairway to Scala: Part II. Advanced Topics

Duration 2 days
Scala knowledge equivalent to the competency obtained by completing the Applied course will be assumed for all students attending the Advanced Topics training. Students who are not familiar with all of the fundamentals of the Scala language may have trouble keeping up, or slow the rest of the class down. There is a price break for attending both courses, so if you are in any way unsure of the fundamentals as listed above, we strongly recommend attending both courses. In the worst case you will probably have a few days of working through fun exercises and being the star of the class.


  • When to use Mutable State
  • Type Parameterization
  • Abstract Members in Depth
  • Implicit Conversions and Parameters
  • Implementing Types
  • Extractors
  • Going Further with Akka
  • Typeclasses and Phantom Types
  • Modular Programming
  • Object Equality, the Gory Details
  • Workflows and Monads
  • Scala Idioms and Best Practices
  • Domain Specific Languages
  • Design Patterns for Scala
  • Tail Recursion, Trampolines

Copyright © 2010-2015 Escalate Software. All rights reserved.