Software SKILLNET

Scala Development


Scala Development
Start Date27th February 2018
Course CodeSS17-99
VenueDublin
Non-member
Full Fee
€900.00
Duration2
LocationDublin
ProviderNeueda
Network Member Subsidised Fee€660.00
  Course expired


Programme Overview
Scala is  an object-oriented language that runs on the Java Virtual Machine. Scala is also a functional language and combines the features and benefits of OO and functional programming. This course provides a fast-paced introduction to the language for developers with experience in similar languages (e.g. Java, C#, or C++), and then delves deeper into idiomatic uses of Scala in practice. 
Course Objectives and Learning Outcomes
  • Writing and running Scala programs
  • Object orientation in Scala
  • Functional programming in Scala
  • Using concurrency
  • Implementing Domain-Specific Languages
  • Best practices and advanced techniques
Who should attend
Professionals experienced in using a contemporary object-oriented language such as Java, C#, or C++. 
Course Content

Introduction to Scala

Overview of Scala

Installing Scala

Writing a simple Scala program

Using the Scala interpreter 


Core Scala Syntax

Types and variables

Literals

Tuples

Organising code

Importing types

Abstract types and parameterised types

Operators and Flow Control

Operators and operands

Decision making

Looping

Pattern matching

Enumerations

Traits

Overview of traits

Using traits as mix-ins

Constructing traits

Traits vs. classes 


Object-Oriented Programming in Scala

Classes and objects

Visibility

Overriding members of classes and traits

Companion objects

Case classes

Object equality

The Scala Object System

The Predef object

Statics

Sealed class hierarchies

The Scala type hierarchy

Functional Programming in Scala

Overview of functional programming

Recursion

Function literals and closures

Functional data structures

Pattern matching

Partial functions

Implicits

Concurrency and Actors

The problems of shared, synchronized state

Actors

Sending messages to actors

The Mailbox

Threading and events

Domain-Specific Languages

Overview of DSLs

Internal DSLs

External DSLs

Examples

The Scala Type System

Reflection

Parameterised types

Variance under inheritance

Type bounds

Abstract types

Path-dependent types

Value types


Application Design

Annotations

Enumerations

Exceptions

Design trait usage

Design patterns

About the Trainer

Andy Olsen - Andy is an experienced software consultant and instructor based in the UK, working mostly in the UK & Ireland. He spends his time developing commercial software applications, delivering advanced software development courses (primarily Java and .NET) and creating training materials.
With .NET his experience goes back to the Beta 1 days and he has extensive experience in many facets of .NET development including WCF, WPF, WF, ASP.NET MVC Web development, and mobile applications. He’s been working in IT for more than 25 years now and has been actively involved in web development for the past decade.
Andy has also spent a lot of time working in the enterprise Java arena, using standard Java EE as well as popular frameworks such as Spring, Hibernate, and JSF.
Andy has been creating and delivering training courses in the UK, Europe, the United States, and Asia since 1990. During that time, he has authored many official courses for major software vendors including Microsoft and Oracle. He has also written and reviewed books for Apress and Wrox Press on a variety of technical subjects. In recent years, Andy has been immersed in HTML5 and mobile development. In November 2011 he wrote and delivered a series of HTML5 webcasts for Microsoft for global delivery.