Stairway to Scala Applied Fundamentals Workshop

Length: Three days in person, or fifteen 1.5-hour remote sessions
Prerequisite: No experience in Scala is needed, but some experience with another programming language is helpful.

Available as an in-house or public workshop. Check the dates for our upcoming public workshops. To bring the Stairway to Scala Applied Fundamentals Workshop in-house for your team, please contact us.

What will you learn?

If you want to speed up the time it takes to become proficient and productive in Scala, then the Stairway to Scala Applied Fundamentals Workshop is for you. This course will save you time as you climb the Scala learning curve. We will take you step-by-step through the most important aspects of the Scala language and API, as well as the important ideas behind them, especially functional programming. At each step, you'll gain a deeper understanding of Scala's design and how Scala can help you accomplish a wide range of practical programming tasks. After taking this course you'll be able to code in Scala with confidence, and enjoy the productivity boost that Scala and functional programming promise to those who master it.

In this intensive three-day course, you'll get an essential foundation in the language and hands-on experience using Scala to solve practical programming problems. You'll leave with new insights into how you can apply Scala in your own everyday work, and the proficiency to do it.

Stairway to Scala Applied Fundamentals Workshop is designed to help experienced programmers learn Scala. It is not a beginning course in programming, but it doesn't assume any background in functional programming. So long as you are familiar with at least one of the (more or less) mainstream object-oriented languages (such as Java, C#, C++, Ruby, Python, or Smalltalk), this course is for you. Prior experience with Java or C# is a plus, but not a pre-requisite.

The workshop covers the following:

  • Welcome to Scala
  • Functional Objects
  • Built-in Control Structures
  • Functions and Closures
  • Control Abstraction
  • Composition and Inheritance
  • Traits
  • Case Classes and Pattern Matching
  • Packages and Imports
  • Working with Lists
  • Collections
  • Functional Transformations

...and a special final project, putting it all together, that demonstrates Scala, Scala.js, the Play web server, JSON intercommunication, web GUI and back end processing.

Who presents the workshop?

Artima brings top talent in the industry and has worked with several of the Fortune 500 companies. We focus on Scala and help clients become successful with the technology. Our instructors have a deep knowledge of Scala and don't just teach, they inspire!

This workshop is taught by Bill Venners and Frank Sommers.

Bill Venners is president of Artima, Inc., provider of Scala consulting, training, books, and tools. He leads the open source project for ScalaTest, a popular testing library first released in 2008. He is also the creator of the Scalactic library for functional, object-oriented programming, as well as other tools and libraries.

Bill is co-author with Martin Odersky and Lex Spoon of the book, Programming in Scala. First published in 2008, the book is currently in its 3rd edition. He is a frequent speaker at Scala conferences around the world.

In 2015 he was awarded with the Phil Bagwell Memorial Scala Community Award in recognition of his contributions to the Scala Community. Since 2016 Bill has served as a community member of the Scala Center Advisory Board.

Frank Sommers is founder and president of Autospaces, Inc, a company specializing in workflow and risk management software for the auto finance industry. He has been using Scala daily since 2008 for production-level software at his company. Prior to Scala, he had been involved in the Java community since the initial release of the language in 1995, and is a Sun Java Champion. Frank co-authored the book Actors in Scala with Philipp Haller.

What are students saying?

The training was absolutely fantastic, I didn't have knowledge of Scala before, but the instructors were able to throw light into the shadows in few hours.

- Marco Bartolini

It is absolutely well planned and executed: funny, thorough, interesting and comprehensive.

- Myriam Leggieri

Masterful Scala training by extremely knowledgeable instructors. The expositions are crystal clear, and the material very useful if you're coding in Scala or reading Scala code in your day job.

- Anonymous

A very practical and informative tour of the Scala language.

- Brian Pritchett

The instructors sincerely know the technology and have put a lot of effort into successfully expressing it in a concise and understandable way.

- Anonymous

Thanks to this course I gained enough Scala knowledge to write this joke:

What did the higher order function say to it's return value?
You can do anything if you apply yourself.

- Frank Albenesius

I enjoyed and learned something new during every session. The course is structured well: the problem solving exercises after every topic makes you think about how to use the new concepts. I learned good basics/fundamentals of Scala, which will help in my career growth. Also I really liked Bill's teaching. I would be happy to take other trainings given by Bill.

- Venkat Kalluru

Bill did an amazing job of teaching us about the basics of Scala. Even though I had had four to five months of Scala coding experience, I learned a lot from the course.

Teaching a programming language is all about ordering the instruction as building blocks and showing practical examples. Bill did a great job with both.

I'm very happy I took the class and hope to take more in the future.

- Sameer Kapoor

I found the Simply Scala course very helpful. After the course, I have a much better handle on Scala. The instructors did a great job presenting the material. They are both Scala experts and good teachers.

- Anonymous

Bill and Justin are very experienced training consultants. They do a good job making it clear what is and what isn't idiomatic Scala and what is the most common way of doing something (when there is more than one possible path).

- Anonymous

The delivery of the course was easy going but on topic and very informative. Bill has a encyclopedic knowledge of Scala and is able to tell you both the how any the why.

- Anonymous

The training course was well structured and paced. We discussed important Scala concepts in a competent way, then got to try out the concepts in well directed Scala exercises.

- Anonymous

The training was overall incredibly helpful. The instructors were clear in their lessons and the exercises were helpful in further solidifying what was taught in the lessons.

- Anonymous

This training is very useful for all the people that want to learn Scala, including those with zero Scala experience.

- Anonymous

The training was great at clarifying some of the reasoning behind the design and implementation of Scala, especially for some of the more non-trivial/implicit natures of the language. Coupled with the well crafted exercises for each of the learning modules, the training was overall very effective for engineers who are new to Scala.

- Anonymous

Loved the instructors! Bill and Frank made learning Scala cool and fun!

- Iris Chan

Bill and Frank are very knowledgeable and provide a great resource to learning the nuances of Scala.

- Anonymous

The instructors were very knowledgable and helped us understand what we personally were looking to get out of the class!

- Anonymous

A three-day training course on Scala with Bill Venners and Frank Sommers could not have been taught in a better manner! They were so passionate and enthusiastic that it motivated me even more to question the content. Thank you!

- Ludim Castillo

The trainers were very knowledgeable and very well equipped at not only explaining the technical aspects of Scala, but also conveying the possibilities and extensibility's of Scala.

- Anonymous

This training session made me appreciate Scala more and made me excited to use it. I had finished the Scala beginner courses on Coursera but attending the training session definitely helped me much more.

- Anonymous

I had no knowledge of Scala entering the course. I did have knowledge of Java, including Java collections. Bill and Frank did an excellent job in introducing us the various concepts of Scala. The course was well paced, and the exercises were very well organized.

- Anonymous

Participant-driven training: pretty much any topic can be covered upon request with any depth!

- Anonymous

I recommend the training, both instructors demonstrated broad knowledge on the subject and great availability to help.

- Anonymous

I liked the flow of sessions. The coding exercise after every module was a good “hands-on.” I would definitely attend the advanced Scala session next.

- Ronald Bhuleskar

I particularly enjoyed the lunch time impromptu presentation/discussion/demo, which helped connect many of the concepts I was learning in the course to actual Scala frameworks and real world examples. The exercises were also well paced and were bite sized enough for me to understand each of the concepts being taught without the confusion of having them all in one cluttered mess like most of the other courses I have taken have done.

- Anonymous

The training was very helpful. The instructors asked what we'd like to gain from the training and taught to that. Lecture followed by hands on exercises really reinforced the lessons. The exercises also build on each other so you can easily follow along.

- Anonymous

The training was very hands-on and useful. The trainers very patient and the exercises were very well thought out.

- Anonymous

I had programmed in Java and C++ for years. I was looking for a solid introduction to Scala and really liked the three-day training. I liked the side-by-side: on one side, slides introducing the concepts and on the other side, examples being typed and run live on a REPL. I really enjoyed and learned a lot from the exercises! I will whole-heartedly recommend this course for other programmers looking to get started with Scala.

And, last but not least, Bill and Frank were awesome!

- LN Renganarayana

Great overview of Scala basics—even as an engineer who has been working in Scala for a few years (self-taught), I learned some interesting tidbits here and there and appreciated the deeper discussions we had about how things work "under the hood". Exercises were well setup and thought out as well, and didn't take an overly long time to complete.

- Anonymous

Very useful and detailed insights into how to use and develop with Scala. The examples and exercises are well thought out and applicable to real world use cases.

- Anonymous

Bill and Frank did an awesome job explaining not only the concepts of Scala but also the best practices in using said concepts. I liked that aspect of the training course and it makes it so much better than MOOCs or Coursera.

- Vivek Srivastava

Great introduction to Scala: clear, concise and with the right balance of lectures and exercises. Would highly recommend.

- Anonymous

Moving to Scala development after twelve years of C++ was not a straightforward task. I had managed to pick up whatever I could from some books and material online, but one can not beat insights coming from experienced Scala engineers.

This training put me on the right track to progress my learning and gain confidence.

- Ismael Kazzouzi

I really liked the course. The course covered all the important elements in Scala. It was very educational and entertaining. The teachers proved to have extraordinary knowledge and great experience. Definitely very satisfied with the course!

- Jesus Celis

Sign up for a workshop!

Stairway to Scala Applied Fundamentals Workshop is available as an in-house or public workshop. Check the dates for our upcoming public workshops. To bring this learning experience in-house for your team, please contact us.

You may also be interested in one of our other workshops: