First steps in the Scala language – workshop

Scala is one of the first languages that successfully combined object-oriented and functional programming. Thanks to the approachable syntax and low amount of boilerplate it lets you write clean, compact, yet type-safe code. It is using a JVM runtime by default, however, Scala can also be compiled to JavaScript using Scala.js or to the native code using Scala Native or Graal Native Image. In the past, one of the most popular domains for Scala was distributed computing in platforms such as Apache Spark or processing pipelines using Akka or fs2 and was successfully used by the largest tech companies like Twitter. Currently, it’s also a popular choice for concurrent programming, creating HTTP servers, and recently even as a scripting language. It’s a language easy to learn, use and leverage in daily work!

This workshop is targeted at beginners that would like to learn Scala, but are already familiar with programming using other languages.

The first section of this workshop would be dedicated to an introduction to the Scala language. You will learn the basics of syntax, operations on Scala collection, and error handling. In this part, you will also understand how pattern matching and implicit values work in Scala and how to use them. You would also be introduced to concurrency in Scala using Futures.

In the second part, you will learn how to work with Scala CLI – a minimalistic tool for interacting with Scala which is perfect for beginners and small single-module projects. In this part, you will learn how to use this build tool to compile and test your code, as well as how to use library dependencies.

In the next module, we will combine all the gained knowledge to create a simple Web application based on the integration with the public REST API of a popular music streaming service. The goal of this section is to create a game, in which you will need to guess the name of the song that would be played for a short period of time on your device. In this part, you will also be introduced to some of the commonly used Scala libraries for working with HTTP clients and servers and utilities to work with JSON.

The last section would be dedicated to implementing your own ideas for the project – extend existing examples or create something completely new from scratch. Mentors in that part would answer all your questions and would help you in case of any problems. Use this time to experiment with Scala.


  • Basics of Java / JavaScript / Python or other programming languages
  • REST, HTTP requests
  • Recommended experience with Object-Oriented and/or Functional Programming 

Tools needed:

Additional resources

3,5h + breaks

Let us know if you are interested in having this lecture organised at your university.

please email [email protected] or use the contact form below.

"*" indicates required fields

If you click the “Send message” button you agree to the privacy policy. Your personal data given in the contact form above will be processed for purposes of answering your inquiry and for any further correspondence regarding this inquiry. The controller of your personal data is VirtusLab Sp. z o.o. For more information, see our Privacy Policy