Simply Scala Advanced Workshop

Length: 2 days
Prerequisite: Some experience with Scala, or successful completion of the Simply Scala Fundamentals Workshop.

Available as an in-house workshop or public training “retreat.” Check the dates for our upcoming public training retreats. To bring the Simply Scala Advanced Workshop in-house for your team, please contact us.

What will you learn?

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 Simply Scala Advanced Workshop 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, extractors, and futures. 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.

Simply Scala Advanced Workshop 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 the Simply Scala Fundamentals Workshop, is a pre-requisite.

The workshop covers the following:

  • Extractors
  • Type parameterization
  • Covariance, contravariance, and invariance
  • Lower and upper bounds
  • Refinement, structural, and existential types
  • Type members
  • Path dependent and singleton types
  • Abstract members
  • Implicit conversions, extensions, and parameters
  • String interpolators
  • Typeclasses
  • Futures
  • Asyncronous Testing

...and concludes with a hands-on project that makes use of advanced Scala concepts, especially asynchronous programming with Futures.

Who presents the workshop?

This workshop is taught by Bill Venners, Frank Sommers, and Mark “Justin” Waks.

Bill Venners is president of Artima, Inc. and a leader in the Scala community. Together with Martin Odersky and Lex Spoon, Bill is coauthor of the book Programming in Scala. He is the lead developer of the open source ScalaTest testing framework, and is a community representative on 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.

Mark “Justin” Waks has been programming professionally for over thirty years, including stints as an Architect at several startups. He has been a Scala enthusiast since 2007, working in it full-time since 2012, primarily on his pure-Scala startup Querki. Along the way, he has developed several open-source libraries for Akka and Scala.js. He is a frequent presenter at Scala Meetups, as well as at the NE Scala conference.

What are students saying?

The advanced Scala training was well organized and presented. Carefully chosen coding exercises allowed the developers of our team to practice the material just learned and review it. The advanced features of Scala such as custom extractors, type covariance, and abstract type members were approached from an eminently practical viewpoint, by looking at coding tasks that could occur in real-world software development. Overall I was impressed with the quality of the material and the presenters' depth of Scala knowledge.

- Sergei Winitzki

Artima did a great job of deconstructing Scala for our large group. There is plenty of foundational theory covered, helping me understand why and how Scala was developed, but the class is not so into the weeds so as to drag down our learning. In addition to the theory, the material is very applicable and overall the exercises are well chosen. The instructors are big contributors to the Scala community and thus incredibly well informed in the language.

- Cal Lee

Great course! I learned a bunch of useful tricks, especially about the type system, that I've already started incorporating into my work!

- Anonymous

Artima does a great job of tailoring their training to the specific needs of our company—it's definitely not a “one size fits all” program.

- Eric Pohl

The course was very helpful in learning about the more advanced features of Scala: implicits, type classes, and futures.

- Anonymous

The explanation of covariance and contravariance was the first explanation that made it click.

- BJ Kennedy

I greatly enjoyed this class after having used Scala for the last four to six months. It gave me a sense of the scope and usage of the type system as well as implicits in Scala and the overall power of Scala as a language.

- Anonymous

This course was very helpful in formalizing many of the concepts that I have been using already in my day-to-day work.

- Anonymous

Great coverage of pretty advanced topics, nice pace.

- Arkadii Chumachenko

I took both the fundamentals and advanced Simply Scala courses. They been a very interesting chance to analyze and discuss the tools and “attitude” of Scala, as well as the design choices for those tools.

The lessons were organized taking into account requests made during the first day and we appreciate that.

Most of the details will require time and hands on experience to digest (patterns and monads in particular), and in a few days a lot of work has been done.

I want to particularly commend the effort and care that Bill Venners takes in trying to have always up to date and possibly tailored materials and topics.

- Anonymous

Informative, Practical with good mix of hands on exercises.

- Anonymous

Great course! Bill explains complex programming concepts in an easy to understand manner.

- Anonymous

Awesome training! Things make so much sense now.

- Anonymous

The Scala course was helpful with understanding a lot of the core concepts of Scala and functional programming.

- Anonymous

I really enjoyed the training course. It was very well-prepared and thought-out tutorial of advanced Scala. Problem sets were excellent and the instructor was very knowledgeable and responsive. Good job!

- Yon-Seo Kim

Sign up for a workshop!

Simply Scala Advanced Workshop is available as an in-house workshop or public training “retreat.” Check the dates for our upcoming public training retreats. To bring this learning experience in-house for your team, please contact us.

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