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.
Learning Objectives
Functional Programming
- 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
Scala Collections and Strings
- 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
Practice: Classes and Functions
- create a Scala application that utilizes functional programming to work with collections and Strings