Highlights
- Introduction and Background
- Object Oriented Scala
- Functional Programming with Scala
- Collections
- More Functional Programming
- Exceptions
- Scala Types
- Implicit
- Functional Concurrency in Scala
- Introducing Actors and Akka
Course Details
- Core principles and design goals
Working with Scala – tools and development approaches
- IDEs, alternative tools, REPL
Introducing values and types
- Immutability, mutability, lazy evaluation, type safety
Classes and Objects
- Definition and use, singleton and companion objects
- Inheritance
Case classes and pattern matching
- Types with value semantics
Abstract types
- Traits and multiple inheritance
- Sealed types and their use in data modelling
Functions
- Functions as objects
Programming with functions – recursion, currying, partial functions
- Algorithmic styles
Collections and parameterised types
- Variance, comparison with Java
- The collections API
- Other parameterised types – e.g. Option[T]
Functional programming with collections
- Internal and external iteration
- Higher order functions
Exceptions
- Exceptions and functional programming
- Scala support for exception handling
More about Scala Types
- Value classes and their use
- Introduction to dependent types
Implicit
- Implicit views and type conversions
- Implicit parameters
- Type classes
Concurrency and asynchronous programming
- Working with Futures
- Overview of actors
Who should attend
Feedback
4.8 out of 5 average
"Our tailored course provided a well rounded introduction and also covered some intermediate level topics that we needed to know. Clive gave us some best practice ideas and tips to take away. Fast paced but the instructor never lost any of the delegates"
Brian Leek, Data Analyst, May 2022
“JBI did a great job of customizing their syllabus to suit our business needs and also bringing our team up to speed on the current best practices. Our teams varied widely in terms of experience and the Instructor handled this particularly well - very impressive”
Brian F, Team Lead, RBS, Data Analysis Course, 20 April 2022