This five-day workshop has two parts:
You can sign up to attend the first three days (Part I), the last two days (Part II), or all five days.
Part I: Applied Fundamentals
If you've decided to use Scala, and want to speed up the time it takes to get proficient and productive, then the Stairway to Scala Workshop: Applied Fundamentals is for you. This course will save you time in your transition to Scala. 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. 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, from writing small scripts to building large systems. After taking this course you'll be able to code in Scala with confidence, and enjoy the productivity boost the Scala promises 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.
Part II: Advanced Concepts
If you already have some Scala programming experience, and want to gain a deeper understanding of the more advanced features of the language, then the Stairway to Scala Workshop: Advanced Concepts is for you. In this intensive two-day advanced concepts course, you'll learn techniques that will enable you access the full potential of the powerful Scala language. This course will arm you with proficiency in advanced subjects such as Scala's type system, implicit conversions, abstract members, and extractors, as well as insights gleaned from coverage of best practices, design patterns, and library/DSL design techniques. You'll leave with a greater expertise in the Scala language and libraries, and how to apply Scala's advanced features to practical programming problems.
Who presents the workshop?
This workshop is co-taught by Bill Venners and Dick Wall, thought leaders in the Java community and Scala pioneers. Bill is president of Artima, Inc., and coauthor with Martin Odersky and Lex Spoon, of Programming in Scala. He is also the lead developer of the open source ScalaTest testing framework. He is an experienced teacher, having taught in the past many workshops on Java, design, and Jini. Dick created and cohosts the popular Java Posse podcast. He founded and leads the Bay Area Scala Enthusiasts user group and has been a full-time Scala practitioner for over three years. As a developer advocate at Google, he was trained to teach and interface with developers. When he's not teaching Scala, Dick programs in Scala full time as an engineer at Locus Development. Bill and Dick have been teaching the Stairway to Scala course together for the past two years, holding several public workshops and also giving it via private workshops in-house at companies.
Who should attend?
Part I of this workshop, Applied Fundamentals 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.
Part II of this workshop, Advanced Concepts is designed to help people who have some experience with Scala become more proficient in its use. An understanding of Scala fundamentals, either from prior experience programming in Scala or by taking Part I of this course, is a pre-requisite.
What will you learn?
APPLIED FUNDAMENTALS (three-day course) Day One 1. First steps in Scala 2. Next steps in Scala 3. Classes, objects, and types Lunch 4. Built-in control structures 5. Functions and closures 6. Control abstraction Day Two 7. Composition and inheritance 8. Scala's hierarchy and universal methods 9. Traits Lunch 10. Packages and imports 11. Assertions and unit testing 12. Case classes and pattern matching Day Three 13. Partial functions and actors 14. Working with lists 15. Collections Lunch 16. Build tools, web apps, and interfacing with Java 17. Project ADVANCED CONCEPTS (two-day course) Day Four 1. Stateful objects 2. Type parameterization, Part I 3. Type parameterization, Part II Lunch 4. Abstract members, part I 5. Implicit conversions and parameters 6. Working with XML Day Five 7. Modular programming and self types 8. Extractors 9. Idiomatic Scala coding style Lunch 10. Designing DSLs 11. Design patterns in Scala 12. Tail Recursion, Delimited Continuations, and Distributed Continuations
How do I get there (and where do I stay)?
Select a specific workshop from the list above to see information about the location of the venue, transportation, and hotels.
When does class start (and what should I bring)?
The workshop runs 9am to 5pm every day. Breakfast is available starting at 8:30AM, and lunch will be provided as well. Other than a passion for learning, the only other thing you may want to bring is a laptop. You'll be sent more detailed instructions about a week before the workshop.
What people are saying
Here's what students who attended previous Stairway to Scala training courses have to say about the experience:
"Stairway to Scala is an excellent way to kick-start your Scala skills. It provides a comprehensive, high-level overview of the language, as well as a set of exercises that are informative and just challenging enough to keep you entertained. Bill and Dick do a great job presenting difficult concepts in an easy-to-understand way. You will not be disappointed." Alex Furman, Founder, Locus Development
"The Stairway to Scala Workshop was extremely valuable in cementing the fundamentals of Scala. By having leading Scala practitioners explain the functional-OO paradigm, the reasons behind the language's design decisions, and Scala best practices, my ability to learn Scala from other sources has greatly improved." Carter Roughton
"The Stairway to Scala course was great fun other than being very useful and enlightening in the most difficult parts of Scala. Advanced, but I would also recommend it for students that not only do not know Scala, but that also do not know about functional/dynamic languages either." Massimo, Java Developer
"The Stairway to Scala workshop was terrific and a great way to start learning about Scala. It opens up a new functional way of thinking for an imperative Java guy. Bill and Dick were very helpful in answering questions." Dinesh Narayanan
The Stairway to Scala Workshop was comprehensive and technically complete. My goal was to walk away with a working knowledge of Scala, and I was not disappointed." Jim Bedenbaugh, President & CEO PLT Software
"If you were to pick a language to learn, pick Scala and attend Bill and Dick's Stairway to Scala course. The course content is well orchestrated, interactive with plenty of hands-on lab sessions and well thought out by knowledgeable instructors at the forefront of Scala development." Chetan Conikee, Intuit, Inc.
"Phenomenal class taught by an entertaining duo of Scala mavens. Their enthusiasm for the language and teaching was infectious." Corey Klaasmeyer
"It was wonderful to have access to two people who are so knowledgeble and so very willing to engage." Anonymous
"The best use of money for training I have seen! An amazing three days! Great interplay between Bill and Dick—one presenting the information (with slides) the other demoing Scala in real time, trying different things in a Scala shell projected above the slides. The workshop was paced very well and covered the PinS book separated by related exercises. The hands-on tools just worked (IntelliJ, Maven). The way ScalaTest was customized to stop at the first error was awesome in the exercises!" Darlene Wallach
"I came to the workshop hoping to be propelled forward in Scala. I was not disappointed. I had already bought into the fact that Scala is an extremely powerful language. But, honestly, I had no idea how powerful it really is until now. I was blown away time and time again. Bill and Dick are excellent instructors who really know their craft. I'm now ready to surf the impending wave!" Bruce Ferguson, President, Epoch 6 Trading Solutions
"The workshop was excellent. The instructors are obviously very technically knowledgeable, but they are also enthusiastic and capable teachers. They cover a lot of material, but do it at the right zoom-level so that it sinks in even for a Scala novice. The exercises are perfectly sized and tailored to learning just language features and not general programming. I would recommend this class without reservation. I learned a lot and had fun doing it." Mehul Patel, Head Developer, NextEra Energy
"I had been searching for Scala classes, but getting a chance to learn about the language from an author of Programming in Scala was great. It gave me a very good introduction. Thanks a lot to Bill and Dick to make this informative and fun." Anonymous
"Liked it very much! Very practical and covers a lot. Espcially loved all the exercises—very nicely done! Ability to ask Martin Odersky was a very nice touch. Overall—excellent!" Eugene Ryzhikov, Lead Developer
"This is a great experience! Best workshop I ever attended." Anonymous
"This seminar was extremely informative and interesting. The instructors are clearly very knowledgeable and approachable. The class was a good mixture of presentations and practical exercises, which helped solidify the material." Patrick Kaeding
"After taking this workshop, I fell well-prepared to venture into my own Scala projects, tackle Scala fundamentals, and explain to my collegues some of what makes Scala awesome." Anonymous
"Great language, knowledgeable and amiable instructors, good balance between presentations and exercises, great breadth and surprising depth: what's not to like?" Anonymous
"This class was very challenging and thorough. The value of the course was greatly enhanced by the exercises, because they were done as test suites. Bill and Dick presented with a sense of expertise, humor, and joy." Anonymous
"I learned all I would need to start developing in Scala here." Anonymous
"The workshop was great. Bill and Dick keep a very relaxed environment facilitating an easy and fun transfer of knowledge." Ben Barefield, SRT Solutions
"If learning Scala from a book or the web is exercising to a workout DVD, then Artima's Stairway to Scala is spring training with a pro football team." Tim Taylor
"It was an excellently put together workshop. I'm usually skeptical of abstraction more than what Java and its frameworks provide, but this material was presented very convincingly and I can clearly see how this can help me be more productive, spend more time/resources writing the code that actually matters." Sandeep Shrestha, Software Development Lead, Monsanto
"The five-day workshop gave my entire group the practical theory and hands-on training to dive right into beginning and advance Scala projects. Bill and Dick customized the class to our needs before and even during the week." Ryan Richt, Monsanto Genome Integration Lead
"Stairway to Scala is a comprehensive and interactive experience. I highly recommend the full five-day course." Dianne Marsh, Cofounder, SRT Solutions
"Bill and Dick are very entertaining teachers and they really know the subject." Bruce Eckel
"Dick and Bill really know their stuff. They have obvious passion for Scala and for passing on their knowledge." Andrew Boudreau
Sign up for the stairway!
We don't currently have any workshops scheduled. We will soon, so please check back!
Copyright © 2017 Artima, Inc. All rights reserved.