Course Overview
Scala is a type-safe programming language that runs on top of the JVM. Scala was tagged as the “long time replacement for Java”. Scala is both object-oriented and functional, thus allowing developers to easily express themselves using powerful tools without losing performance.
By the end of the 3-day course, the students will know the Scala language, how to use it, applying correct patterns, and will also have extensive hands-on experience which is crucial when learning a new language
-
Who should attend
Java developers, Team Leaders, Project Managers.
-
Prerequisites
Java Knowledge.
Course Content
-
Introduction to Scala
- Why another language?
- The Features of Scala,
- Scala’s Extensibility,
- Scala vs. Java.
Basic Syntax (for Java Developers)
- Basic syntax compared to Java.
- Basic Class syntax.
- Visibility Rules.
Object-Oriented Programming in Scala
- Everything is an Object.
- Objects and Companion Objects.
- No Operators (just Functions).
- Introducing Parameterized Types.
- Traits & Mixins.
Functions
- High Order Functions.
- Lambdas and Closures.
Collections
- Mutable vs. Immutable Collections.
- Comparing and Integrating with Java Collections.
- Functional API.
- Persisted Collections.
- Sequences.
-
Pattern Matching
- Case Classes.
- Pattern Matching.
- Exception Handling.
For Expressions.
Implicits
Implicit methods.
Implicit classes.
Implicit parameters.
More Topics
- Tail Recursion.
- Futures.
- Promises.
Testing Frameworks.
Introduction to Functional Programming
- What is Functional Programming.
- Abstractions.
- Overview of Monoids.
- Functors.
- Monads.