Don't see what you're looking for? Use the form below to request a class that's better suited to your location and schedule.
Scala Programming (2 Days)
A rapid introduction to the basics of Scala programming. This course is designed to get you up to speed on the language features you'll need for building distributed microservice systems. Provides deep insight into the Scala standard library, along with some of the more challenging aspects of working with features such as closures, partial functions, traits, case classes, implicit conversions, futures, and functional programming.
Audience
Professional developers who are interested in learning Scala for distributed computing and microservices
Prerequisites
You should be fluent in a compiled programming language such as Java, C#, or C++, or a modern dynamic language such as Ruby, or Python
Upcoming Public Classes
Enroll early and save.
Course Overview
This fast-paced, two-day intensive course will get you off to a quick start coding in Scala. There's plenty of lab time to allow you to learn by doing. And our exercises are designed to reinforce key concepts in a way that will help you gain proficiency fast. Between lecture sessions and hands-on labs you'll get a first-hand introduction to fundamentals of the Scala programming language, including classes, functions, pattern matching, enumerations, collections, generics, closures, and more.
- Learn the fundamentals of Scala and the standard Scala libraries
- Gain hands-on experience working with the REPL and IntelliJ
- Get familiar with the Scala type system
- Learn to create, extend, and use Scala classes, functions, and traits
- Learn how to use case classes, pattern matching, and implicit parameters to simplify code
- Learn functional programming techniques, including map, reduce, and filter
- Get familiar with distributed computing concepts using immutability, futures, and promises
Course Outline
- Scala Development Environment
- Learn to use the REPL and IntelliJ to edit, build, and debug projects, along with numerous pro tips and tricks.
- Functions, Tuples, and Closures
- Learn to declare and implement Scala functions, work with named parameters, and use tuples as arguments and return values. Understand what closures are, and how they capture state. Learn to work with functions and closures as arguments and as return values.
- Collections
- Get familiar with the list, array, set, and map collection types provided by the Scala standard library, and get a solid handle on the differences between working with mutable and immutable types.
- Working with Generic Types
- Understand the purpose, syntax, and usage of Scala's generic types.
- Working with Optionals
- Understand how Scala handles null values with the
Option
type, and how to useOption
effectively. - Match Statements and Case Classes
- Learn to use the powerful pattern-matching capabilities of Scala's
match
construct in combination with case classes to dramatically streamline code, and simplify program logic. - Type Inference
- Learn how to leverage Scala's type inference to write cleaner, simpler code.
- Functional Programming Techniques
- Learn how to use Scala's immutable collections, along with tail recursion, and high-order, anonymous, partial, and curried functions, to leverage powerful functional programming techniques.
- Classes and Objects
- Learn the basics of declaring Scala classes, and companion and generic objects; writing method, property, and initializer implementations; and allocating and initializing instances.
- Traits
- Learn how to leverage reusable traits to compose objects with the mixin design pattern.
- Implicit Conversions and Parameters
- Discover how to clean up boilerplate code from external libraries, implement conversions, and extend existing classes using implicit conversion. Learn how to use implicit parameters to write cleaner code.
- Error Handling
- Learn how Scala disconnects error handling from recovery using
try
statements, as well asFailure
andSuccess
types, for graceful error handling in a distributed environment.