Scala Functional Programming and Collections


Overview/Description
Target Audience
Prerequisites
Expected Duration
Lesson Objectives
Course Number
Expertise Level



Overview/Description
Scala mixes programming paradigms, and so presents a challenge to programmers coming from any other language. This course explores the use of functional programming in Scala as well as the Collections library and its uses.

Target Audience
Programmers with some experience of programming in another language looking to get a start in Scala

Prerequisites
None

Expected Duration (hours)
1.6

Lesson Objectives

Scala Functional Programming and Collections

  • start the course
  • describe the key aspects of functional programming in Scala
  • demonstrate the use of expression-oriented programming in Scala
  • utilize pure functions in Scala
  • explore the use of literals and anonymous functions in Scala
  • demonstrate how functions can be used as variables and parameters in Scala
  • describe the use of closures
  • create and use partially applied functions
  • demonstrate how to curry a function
  • explore how to compose functions from other functions
  • describe how to best use tail-recursion
  • differentiate between call-by-name and call-by-value
  • provide an overview of the collections framework in Scala
  • explore the key differences between mutable and immutable collections
  • use Sets in a Scala application
  • use Maps in a Scala application
  • use Sequences and perform sort operations in a Scala application
  • use Iterators in a Scala application
  • identify the key aspects of concrete immutable collection classes
  • identify the key aspects of concrete mutable collection classes
  • apply arrays in Scala
  • work with Strings in Scala code
  • demonstrate the proper way to test for equality in code
  • work with interpolation when using strings in Scala
  • compare Java and Scala collections
  • create a Scala application that utilizes functional programming to work with collections and Strings
  • Course Number:
    sd_scal_a02_it_enus

    Expertise Level
    Intermediate