Coding with the Functional Programming Paradigm Using Scala

AVG Duration6h


This learning path is designed to give you practical, hands-on experience of the Scala programming language so that you can use it with confidence along with the functional programming paradigm.

You will start by looking at the base components needed when you code with functional programming. You will hands-on recursive functions, classes and hierarchies, and generics for both functions and classes to start coding your first functional scripts.

You will deep dive into immutable data structures, and you will start using higher-order and anonymous functions with Scala. You will then master some advanced Scala concepts useful for functional programming such as for-expressions and pattern matching.

While performing the Learning Path, you will encounter two Scala challenges where you will be able to test your knowledge of Scala.

By the end of this learning path, you're going to be confident when using Scala for building applications following the functional programming paradigm. As an added bonus, this path also includes a lab playground in which you can have a go at using Scala to do whatever you want and experiment with the service.

Learning Objectives

  • Understanding the basic principles of Scala
  • Get hands-on with the Scala components and entities for the functional programming paradigm
  • Learn advanced concepts to master Scala with the functional programming paradigm

Intended Audience

  • Software engineers who want to start leveraging the functional programming paradigm with Scala
  • Data engineers that need a powerful programming language to handle large datasets


No prerequisites are required to start following this Learning Path.


Your certificate for this learning path

Training Content

Hands-on Lab - Intermediate - 45m
Understanding Basic Scala Elements for Functional Programming
In this lab, you will understand the basic principles of functional programming in Scala.
Hands-on Lab - Intermediate - 45m
Start using Recursion with Scala
In this lab, you will understand the basics of recursive functions, and you will create basic recursive functions and tail-recursive functions.
Hands-on Lab - Intermediate - 1h
Creating and Handling Classes and Hierarchies in Scala
In this lab, you will work with classes, traits, and hierarchies in Scala.
Hands-on Lab - Intermediate - 45m
Introducing Generics for Classes and Functions in Scala
In this lab, you will work with generics for classes and functions to leverage the most common polymorphism used in functional programming.
Hands-on Lab Challenge - Intermediate - 1h
Introduction to Scala Challenge
Demonstrate your Scala skills by performing tasks required to use the main components of Scala for functional programming.
Hands-on Lab - Intermediate - 1h
Leveraging Common Scala Immutable Data Structures
In this lab, you will start using the most important and common immutable data structures in Scala.
Hands-on Lab - Intermediate - 45m
Writing and Using Higher-Order and Anonymous Functions in Scala
In this lab, you will understand and start using higher-order functions and anonymous functions.
Hands-on Lab - Advanced - 45m
Integrating Common Higher-Order Functions with the For-Expressions in Scala
In this lab, you will understand the principles of the for-expressions in Scala, and you will understand how to implement map and filter with them.
Hands-on Lab - Advanced - 45m
Mastering Pattern Matching in Scala
In this lab, you will start using the pattern matching in Scala, to avoid complex checking on types and structures.
Hands-on Lab Challenge - Advanced - 1h
Advanced Scala Challenge
Demonstrate your advanced knowledge of Scala and the functional programming paradigm by completing this lab challenge.
Hands-on Lab - Beginner - 4h
Scala Playground
Practice your Scala skills in a free-rein, empty environment by working with Scala and its components in any way you see fit!
About the Author
Learning paths8

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