A tanfolyamról
This advanced Scala course will help you master the concepts needed to fully leverage the Scala tool and develop powerful applications with it. With a lot of focus on hands-on coaching and current industry trends, this is the perfect course for those who want to get ahead in their career in Scala.
Scala is among the most popular programming languages and powers the code of several top websites around the world including Twitter, LinkedIn and The Guardian. Built on top of the Java virtual machine, Scala offers all the advantages of an object oriented programming language including code reuse and recycling, encapsulation, code maintenance, code optimization and speed.
What you will learn
-
Introduction to Scala
Get yourself equipped with the knowledge of all the elements in object-functional programming. -
Scala Type System
Learn about the traits, types as well as the type bounds and master in the Scala type system. -
Advanced Pattern Matching
Get equipped with the knowledge of advanced pattern matching by learning to use extractors. -
Scala Implicit
Gain the required knowledge to use Scala implicit for conversion, classes as well as parameters. -
Libraries and DSLs
Equip yourself with the required knowledge for controlling the structures and internal DSLs. -
Scala Collections
Acquire the best knowledge to work with Streams, manifest, Builders and other Scala collections. -
Functional Exception Handling
Learn about functional exception handling as well as gain the knowledge to implement the same.
Who should attend
- Data Engineers
- Software developers
- ETL developers
- Analytics Professionals
- Anyone who want to learn advanced Scala
By the end of the course you will
- be proficient in coding using Scala
- have knowledge of object oriented basics
- be able to build internal DSLs
We provide the course in English.
Tematika
Curriculum
1 Getting started
Learning Objectives:
Learn Scala as a JVM language, also learn about the differences between objection-oriented programming and functional programming.
- Introduction
- Scala as a JVM language
- Objection-oriented programming vs functional programming
2 Overview of object-functional programming
Learning Objectives:
Learn about the elements in object - functional programming.
- Tail recursion
- Partial functions
- Currying and partial function application
- Closures
- Lazy evaluation
Hands-on:
Implement object-functional programming and use tail recursion, partial functions.
3 Mastering the Scala type system
Learning Objectives:
Learn about traits, types and type bounds and master in the Scala type system.
- About traits
- Structural types
- Path dependent types
- Self types
- Covariance and contravariance
- Type bounds
Hands-on:
Implement to use Structural types, path dependent types, type bounds.
4 Advanced pattern matching in Scala
Learning Objectives:
Learn about advanced pattern matching using extractors.
- Deep matching
- Using extractors
Hands-on:
Implement to use extractors.
5 Using Scala Implicit
Learning Objectives:
Learn to use Scala implicit for conversion, classes and parameters.
- Implicit conversion, classes and parameters
- Type class pattern
- Context and view bounds
Hands-on:
Use Type class pattern, context and view bounds.
6 Libraries and DSLs
Learning Objectives:
Learn about control structures and internal DSLs.
- Custom control structures with by-name parameters
- Building well-designed libraries and internal DSLs
Hands-on:
Build internal DSLs
7 Working with Scala collections
Learning Objectives:
Learn to work with Streams, manifest, Builders and other Scala collections.
- Working with Streams
- Manifests and class tags
- Builders
- CanBuildFrom
- Building custom collections
Hands-on:
Create manifests and class tags and use Builders.
8 Functional exception handling
Learning Objectives:
Learn to use exception handling and using Try for comprehensions.
- Traditional exception handling
- Functional exception handling
- Using Try with For comprehensions
Hands-on:
Implement to use functional exception handling.
Kinek ajánljuk
Előfeltételek
Prerequisites
There are no fixed prerequisites for Advanced Scala but it is preferable for participants to have:
- Understanding of basic Scala concepts.
- Hands-on experience in Scala programming.