• Online, Self-Paced
Course Description

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

Framework Connections

The materials within this course focus on the Knowledge Skills and Abilities (KSAs) identified within the Specialty Areas listed below. Click to view Specialty Area details within the interactive National Cybersecurity Workforce Framework.