Course Outline
Introduction
- Scala as a JVM language
- Objection-oriented programming vs functional programming
Overview of Object-Functional Programming
- Tail recursion
- Partial functions
- Currying and partial function application
- Closures
- Lazy evaluation
Mastering the Scala Type System
- About traits
- Structural types
- Path dependent types
- Self types
- Covariance and contravariance
- Type bounds
Advanced Pattern Matching in Scala
- Deep matching
- Using extractors
Using Scala Implicit
- Implicit conversion, classes and parameters
- Type class pattern
- Context and view bounds
Libraries and DSLs
- Custom control structures with by-name parameters
- Building well-designed libraries and internal DSLs
Working with Scala Collections
- Working with Streams
- Manifests and class tags
- Builders
- CanBuildFrom
- Building custom collections
Functional Exception Handling
- Traditional exception handling
- Functional exception handling
- Using Try with For comprehensions
Closing Remarks
Requirements
- Hands on experience in Scala programming
- Familiarity with pattern matching and traits
Audience
- Scala programmers who wish to learn the more advanced and nuanced features of Scala
Testimonials (5)
A large amount of practical knowledge shown in real-life examples.
Kamil - Streamsoft Kraków
Course - Java Advanced
Machine Translated
More time for this course.
Rubén Dimas Escorza - si
Machine Translated
The teacher addressed many relevant topics for clean coding with practical examples.
Ben van Oeveren - Movella
Course - Clean Code
The exercises
Florin Mazilu - SOJUS Software GmbH & Co. KG
Course - Unit Testing with JUnit
I liked the very practical scenario and lot of hands-on exercises.