GO.COURSES 0 Menu

Satisfaction rating

Delighted Satisfaction Rating 4.8

Powered by Delighted

The Scala Programming Language, 3 days

Scala is an open source language that combines an object oriented approach with a functional programming paradigm. It has become popular due to its scalability, flexible syntax, interoperability with Java and pattern matching.

open course overview

Want this course delivered at
your office?

Enquire

Want to learn remotely?

Over 20 % of our courses are available for you to Learn Live Online. This is real-time participation, with a real, live tutor - and classmates - just delivered online.

Learn more|Continue shopping

You can add more people and full delegate info at checkout

Checkout

Edit basket|Continue shopping

Overview

Scala is an open source language that combines an object oriented approach with a functional programming paradigm. It has become popular due to its scalability, flexible syntax, interoperability with Java and pattern matching.

Full course content

This course will introduce the fundamentals of Scala from the context of a Java background. It covers what is different between the two languages, how they are related and how to adopt a functional, rather than object oriented, approach.

Day 1

Introducing Scala

What is Scala
Advantages and Disadvantages to using Scala
Scaladocs
Scala Libraries
Scala tools - Repl and Eclipse
Basic Scala Syntax

Variables and Data types
Mutable vs Immutable data
Operators
Statement blocks
Conditionals
Loops , Guards and Yielding
Functions
Simple I/O
Objects in Scala

Creating objects
Creating new operators
Companion Objects and Singletons
Val vs Def
Exception Handling: Throwing exceptions and why not to
Inheritance and Traits

Simple Inheritance in Java and Scala
Abstract methods and classes
Traits
Multiple inheritance using traits
Packages
Day 2

Unit Testing and TDD

What is unit testing
Scala Test
Installing and running simple tests
Test styles: Flat Spec and feature Spec
Matchers and Exception catching
Functional Programming

Advantages and disadvantages to the functional programming style
Pure functions
Higher order functions
Lambda (anonymous) functions
Closures
Currying
Combining functions
Recursion
Lazy Evaluation and partially applied functions
Day 3

Collections and Generics

Generic types in Java and Scala
Arrays and the Array Buffer
Ranges
Iterating and transforming collections
Lists
Tuples
Maps
Zipping and unzipping collections
Variance and type bounds
Functional programming with Collections

The map function
forEach
filter
flatMap
Options
Pattern Matching

Case classes
match ... case
Capturing variables
Matching Lists
Matching and Recursion
Deep Matching

Back to top
Please wait... Please wait...

 

Sign In | Continue as a Guest