Core Scala 2.13 Masterclass

Tijdsduur
Logo van EDC4IT Europe BV

Tip: meer info over het programma, prijs, en inschrijven? Download de brochure!

Startdata en plaatsen

Er zijn nog geen startdata bekend voor dit product.

Beschrijving

This is a great course that familiarises developers with The Scala Programming language.

This fresh course equips developers with all the tools necessary to function as a successful and productive team member on all Scala projects.

Prerequisites

Students should be familiar with another programming language such as Java, C#, C++, Rust, JavaScript/TypeScript, Python, etc. Coming from a types language will be beneficial.

Course Contents

Introduction

  • Introduction to the Scala language
  • Understand key features of the language
  • Explore lexical syntax
  • Understand basic declarations and definitions (var, val and def)
  • Understand basic types
  • Understand Scala's Rich Wrappers
  • Understand me…

Lees de volledige beschrijving

Veelgestelde vragen

Er zijn nog geen veelgestelde vragen over dit product. Als je een vraag hebt, neem dan contact op met onze klantenservice.

Nog niet gevonden wat je zocht? Bekijk deze onderwerpen: Scala, Programmeren (algemeen), Java, OO (Object Oriented) Programmeren en Ruby (on Rails).

This is a great course that familiarises developers with The Scala Programming language.

This fresh course equips developers with all the tools necessary to function as a successful and productive team member on all Scala projects.

Prerequisites

Students should be familiar with another programming language such as Java, C#, C++, Rust, JavaScript/TypeScript, Python, etc. Coming from a types language will be beneficial.

Course Contents

Introduction

  • Introduction to the Scala language
  • Understand key features of the language
  • Explore lexical syntax
  • Understand basic declarations and definitions (var, val and def)
  • Understand basic types
  • Understand Scala's Rich Wrappers
  • Understand method declarations
  • Understand aspects such as multiple parameter clausesdefault valuesrepeated parameters
  • Understand function application ("calling" functions)
  • List basic syntax: assignments and if-expression

Classes, Objects and Traits

  • Understand scala's hierarchy (Any and AnyVal)
  • Understand the bottom types Nothing and Null
  • Be able to define classes
  • Appreciate the access modifiers and further qualification
  • Understand the concept of properties in Scala
  • Method overloading
  • Define constructors (primary and auxiliary)
  • Understand class inheritance (nominal sub-typing)
  • Be able to apply the Liskov Substitution Principle
  • Concepts such as abstract members and overriding (methods and vals)
  • Define Objects in Scala
  • Understand the concepts of Companion Objects and their typical use
  • Discuss recommended invocation styles (e.g, infix)
  • Appreciate case classes
  • Define value classes
  • Organise classes/objects in packages
  • Discuss different styles of importing packages and classes/objects
  • Appreciate the package object
  • Introduce lazy values and early definitions
  • Understand Traits
  • Understand the Stackable Trait Pattern

Functions

  • Functions as objects and values
  • Use methods on functions (compose, ...)
  • Work with Higher order functions
  • Work with Recursion and tail recursive functions
  • Use Lambda expressions
  • Understand clojures
  • Use and understand the rules for parameters expansion (placeholder syntax)
  • Understand the difference between methods and functions
  • Using methods as functions (and eta-expansion)
  • Appreciate currying (methods and functions)
  • Use partially applied functions

Collections

  • Understand the type hierarchy (Traversable, Iterable etc)
  • Perform access/update/prepend/etc operations on Seq, Set and Map
  • Discuss performance implications of implementations
  • Access list using head/tail operations
  • Introduce lazy streams
  • Appreciate Ranges
  • Ordering using 'Ordered' and 'Ordering'
  • Using higher-order functions ('map' ,'reduce', 'fold' etc)
  • Introduce for-comprehensions

Types

  • Introduce type parametrisation type constructors
  • Define polymorphic methods
  • Understand the syntax of the type parameter clause
  • Use bounds (upper, lower and context)
  • Introduce variance (covariance, contravariance)
  • Discuss impact of (im)mutable types and variance
  • Appreciate Type declarations and definitions
  • Understand path dependent types

Implicits

  • Introduce implicit conversion and parameters
  • Use implicit conversions to convert expected types
  • Use implicit conversions to convert the received
  • Be able to pimp a library (using implicit classes)
  • Discuss the scoping rules of implicits
  • Define and use implicit parameters
  • Discuss use cases for implicit parameters
  • Introduce type classes
  • Explore how Scala and other libraries use implicits

Pattern Matching

  • Introduce the power of pattern matching
  • Understand all the various patterns
  • Understand the role of case classes
  • Build extractors
  • Understand sealed traits
  • Introduce Algebraic Data Types
  • Discuss various ways to build enumerated values in Scala
  • Understand pattern matching in value definitions, for comprehensions and function literals
  • Introduce the concept of Partial Functions

Monadic Data Types

  • Introduction to Monads
  • Use the Option monad
  • Appreciate monad composition (through flatMap)
  • Understand the role of for-comprehensions
  • Deal with exceptions in Scala (catching)
  • Use and understand Try
  • Use and understand Either
  • Introduce Futures and Promises

This course is unique in:

  • being not just example-driven, but bringing a deeper understanding of the Scala language
  • explaining concepts that are often challenging in a clear manner (illustrating many approaches to different issues with the help of useful diagrams)
  • focusing on preparation for real-world projects (Testing, Integration with Java and some of its popular frameworks)
  • providing real-life examples and demonstrations for a heightened appreciation of how to apply classroom concepts to the real-world situations

This course has recently been updated to incorporate Scala 2.12 reinforcing its status as a cutting-edge course that appeals to the developers working with the latest technologies.

You have discovered EDC4IT, your online home for IT Training in Open Source Technologies.

Famous for the practicality and applicability, a significant part of our course material is dedicated to hands-on exercises and lucrative tips allowing the participants to improve considerably in their workplaces in no time.

We go the extra mile to deliver consultancy and on-the-job coaching, as needed. Having received great feedback on our online courses, we take pride in our trainers and learning material.

Join us, use our rich expertise, and get ahead of the rest!

Blijf op de hoogte van nieuwe ervaringen

Er zijn nog geen ervaringen.
  • Vraag informatie aan over deze cursus. Je ontvangt vanaf dan ook een seintje wanneer iemand een ervaring deelt. Handige manier om jezelf eraan te herinneren dat je wilt blijven leren!
  • Bekijk gerelateerde producten mét ervaringen: Scala.

Deel je ervaring

Heb je ervaring met deze cursus? Deel je ervaring en help anderen kiezen. Als dank voor de moeite doneert Springest € 1,- aan Stichting Edukans.

Er zijn nog geen veelgestelde vragen over dit product. Als je een vraag hebt, neem dan contact op met onze klantenservice.

Download gratis en vrijblijvend de informatiebrochure

Aanhef
(optioneel)
(optioneel)
(optioneel)
(optioneel)
(optioneel)
(optioneel)

Heb je nog vragen?

(optioneel)
We slaan je gegevens op om je via e-mail en evt. telefoon verder te helpen.
Meer info vind je in ons privacybeleid.