hands-on lab

Understanding Basic Scala Elements for Functional Programming

Up to 45m
Get guided in a real environmentPractice with a step-by-step scenario in a real, provisioned environment.
Learn and validateUse validations to check your solutions every step of the way.
See resultsTrack your knowledge and monitor your progress.


If you want to build software in a mathematical way or you need to work with datasets, functional programming could be the right choice for you. As the name suggests, functional programming is a paradigm where you design and implement algorithms by applying and composing functions. In the functional programming paradigm, the function is the main building block, and you can use it as a value, you can pass it as an argument, and you can receive it as a function result. In this paradigm, you shouldn't consider mutability, iterations, and common components you usually find in the imperative and/or object-oriented paradigm.

Scala is one of the most used and easy-to-learn languages with the functional paradigm. If you want to master the functional paradigm with Scala, you need to first understand basic principles as the different types of variable definition, and how to define a function.

In this lab, you will understand how to use the different variable definitions, and how to define functions in Scala.

Learning Objectives

Upon completion of this beginner-level lab, you will be able to:

  • Understand the basic elements needed for the functional paradigm in Scala
  • Leverage the basic elements to build your first Scala application

Intended Audience

This lab is intended for:

  • Software engineers who need to move to the functional paradigm with Scala
  • Data engineers who need to perform operations and transformations on datasets leveraging the functional paradigm with Scala


To get the most out of this lab, you should have basic knowledge of programming in at least one language. To achieve this, we suggest taking the following learning path:


April 20th, 2023 - Updated theia to enable autosave


About the author

Learning paths

Stefano studies Computer Science and is passionate about technology. He loves working with Cloud services and learning all the best practices for them. Google Cloud Platform and Amazon Web Services are the cloud providers he prefers. He is a Google Cloud Certified Associate Cloud Engineer. Node.js is the programming language he always uses to code. When he's not involved in studying or working, Stefano loves riding his motorbike and exploring new places.

Covered topics

Lab steps

Connecting to the Scala Web IDE
Working With Basic Scala Elements