Scala mixes programming paradigms, and so presents a challenge to programmers coming from any other language. This course demystifies some of the techniques associated with Scala programming.
Learning Objectives
Scala Overview
- start the course
- describe the features of Scala
- download and install the Scala binaries
- run the Scala REPL and evaluate simple expressions
- list the IDEs with Scala support and install the Scala plugin for Eclipse
Scala Syntax Basics
- use variables in Scala, and describe type inference
- use value types in Scala, and describe the immutable property
- declare and use a function in Scala
- create a simple class and method in Scala
- describe objects in Scala and how everything is an object
Operations and Operators
- use Scala collections
- use infix notation for built-in and custom methods in Scala
- use operators and operator overloading in Scala
- use Java types from Scala
- describe the use of the unit type in Scala
- use Scala if expressions and note that if is an expression and not a statement
- use Scala match expressions
Class Basics
- create constructors for classes in Scala
- create fields in Scala classes, and describe behaviors of different field types
- use automatic getters in Scala and override them
- use automatic setters in Scala and override them
- declare and use singleton objects in Scala
- use companion objects in Scala
Inheritance and Traits
- create and use a subclass in Scala
- use traits in Scala
Practice: Classes and Functions
- create a Scala application that contains a class, a subclass, and a companion object