Scala mixes programming paradigms, and so presents a challenge to programmers coming from any other language. This course explores the use of pattern matching, Java interoperability, and concurrency.
Learning Objectives
Scala Pattern Matching
- start the course
- describe the key aspects of pattern matching in Scala
- demonstrate how to apply pattern matching to lists in Scala
- utilize pattern matching and case classes in Scala
- explore the use of pattern matching with functions in Scala
- compare OOP and functional programming
Java Interoperability
- explore how to work with Java and Scala classes
- create and use JavaBeans with Scala
- demonstrate how to use Java interfaces and Scala traits
- create static members with Scala objects
- demonstrate how to deal with exceptions in Java and Scala
- explore how to work with annotations in Java and Scala
Scala Concurrency
- compare Scala and Java concurrency
- describe the use of asynchronous execution in Scala
- specify the various ways to transform futures in Scala
- troubleshoot and test with Scala futures
- register and use Scala callbacks
- implement Scala blocking with futures
- demonstrate the use of promises in Scala concurrency
- explore the utilities associated with Scala concurrency
Practice: Classes and Functions
- create a Scala application that utilizes functional programming to work with collections and Strings