Hteq6e90lgkg0lhcdpx9
3 DAY COURSE

Lightbend Scala Language - Expert

Topics covered at ADV-SCALA-02-03
View Schedule & Book More dates available

Next up:

Are you ready to upgrade your skills and become a Scala Expert Developer? Unleash the full power of Scala in this three-day intensive Scala training course and learn what you can do with Scala's advanced features.

Join Trond Bjerkestrand, Lightbend-certified Scala and Akka trainer and consultant, as he delves into advanced functional programming with Scala, providing you with a detailed understanding of the type system, implicits, internal DSLs, Custom Scala Collections, and the skills you need to create structured libraries or DSLs.

Known for being favoured by developers due to its power, malleability and utility in navigating complex domains and defining abstractions, Scala is increasingly used by some of the world's largest digital companies and an expert knowledge of its best practices is quickly becoming highly sought-after.

- Become an expert in advanced functional programming with Scala -


Who you will be learning with

This course is aimed for experienced developers who have a solid understanding of Scala and are looking to learn about the latest uses and best practices of Scala.

How to apply these skills

Meet the growing demand for expert Scala developers, while bringing new insights and innovative solutions to your organization's use of Scala.

What next?

Book early to receive a discount on the course price and in doing so you will not only commit to growing your own skill set, but help us grow our community of over 140,000 passionate techies.

Need to boost your skills before you're ready? Try our Lightbend Scala Language - Professional course!

Learn how to:

  • Understand all aspects of the object-functional approach
  • Know and be able to apply advanced features of Scala's type system
  • Fully understand implicits and type classes
  • Be confident about creating libraries and DSLs with Scala

About the Expert

Trond Bjerkestrand

Trond Bjerkestrand, co-founder of Groosker, is a Lightbend-certified Scala and Akka trainer and consultant. He is interested in functional programming, payments, startups and bitcoin and is one of the organizers of the Geneva Scala Enthusiasts meetup.

About the Author

Heiko Seeberger

Heiko Seeberger loves rock climbing and is an internationally renowned expert on Scala, Akka and Functional Programming. He has more than twenty years of experience in software engineering, consulting and training and is an active open source contributor. Heiko works as an independent consultant and regularly shares his knowledge at conferences and user group meetings.

Thanks to our partners

Recap of important basics

Object-Functional Programming in Depth

-Recursion and tail-recursion -Partial functions and partial function literals -Curried methods, partially applied functions -Lifting methods into functions -Folding

Mastering the Type System

-Scala type hierarchy -Value classes -Type parameters -Variance -Package objects -Lower and upper bounds -(Abstract) Type members -Singleton Types -Type refinements -Static duck-typing -Path-dependent types -Self Types

Explicitly Implicit

-Implicit conversions -Implicit resolution, scopes and precedence -Library extension via implicit (value) classes -Implicit parameters -Implicit Values -Type classes -Implicit parameter chaining -Type class examples in the Scala core library -Type constructors -Context bounds -Type witnesses -Type tags

Domain Specific Languages (DSLs)

-DSL Building blocks: -By-name parameters -Currying -Higher-order functions -Dot-free operator notation -Implicit conversions

-Phantom types -Finite State Machines (FSM)

Scala Futures and Promises

-Execution contexts and Thread Pools -Creating & working with Futures -Futures & Failures - callbacks & recovery -Futures, concurrency & parallelism -Future.sequence/Future.traverse -Creating an already completed Future -Dealing with Future[Option[_]] and for comprehensions -Futures - Do's and Don'ts -Promises

Custom Scala Collections

-Uniform return type principle -Collection Builders -Like traits -Type classes for the tricky cases

Audience

If you are an experienced Scala developer (with at least 3 months Scala programming experience) and you would like to learn various advanced features like Scala's type system and implicits to create well designed libraries or DSLs using proven practices, this Advanced Scala course is for you!

Prerequisites

Students taking this course should have:

Bring your own hardware

You are required to bring your own laptop for this Advanced Scala course, with JDK 6 or above installed. A full installation guide for the course software will be provided with your course joining instructions.

Overview

Are you ready to upgrade your skills and become a Scala Expert Developer? Unleash the full power of Scala in this three-day intensive Scala training course and learn what you can do with Scala's advanced features.

Join Trond Bjerkestrand, Lightbend-certified Scala and Akka trainer and consultant, as he delves into advanced functional programming with Scala, providing you with a detailed understanding of the type system, implicits, internal DSLs, Custom Scala Collections, and the skills you need to create structured libraries or DSLs.

Known for being favoured by developers due to its power, malleability and utility in navigating complex domains and defining abstractions, Scala is increasingly used by some of the world's largest digital companies and an expert knowledge of its best practices is quickly becoming highly sought-after.

- Become an expert in advanced functional programming with Scala -


Who you will be learning with

This course is aimed for experienced developers who have a solid understanding of Scala and are looking to learn about the latest uses and best practices of Scala.

How to apply these skills

Meet the growing demand for expert Scala developers, while bringing new insights and innovative solutions to your organization's use of Scala.

What next?

Book early to receive a discount on the course price and in doing so you will not only commit to growing your own skill set, but help us grow our community of over 140,000 passionate techies.

Need to boost your skills before you're ready? Try our Lightbend Scala Language - Professional course!

Learn how to:

  • Understand all aspects of the object-functional approach
  • Know and be able to apply advanced features of Scala's type system
  • Fully understand implicits and type classes
  • Be confident about creating libraries and DSLs with Scala

About the Expert

Trond Bjerkestrand

Trond Bjerkestrand, co-founder of Groosker, is a Lightbend-certified Scala and Akka trainer and consultant. He is interested in functional programming, payments, startups and bitcoin and is one of the organizers of the Geneva Scala Enthusiasts meetup.

About the Author

Heiko Seeberger

Heiko Seeberger loves rock climbing and is an internationally renowned expert on Scala, Akka and Functional Programming. He has more than twenty years of experience in software engineering, consulting and training and is an active open source contributor. Heiko works as an independent consultant and regularly shares his knowledge at conferences and user group meetings.

Thanks to our partners

Program

Recap of important basics

Object-Functional Programming in Depth

-Recursion and tail-recursion -Partial functions and partial function literals -Curried methods, partially applied functions -Lifting methods into functions -Folding

Mastering the Type System

-Scala type hierarchy -Value classes -Type parameters -Variance -Package objects -Lower and upper bounds -(Abstract) Type members -Singleton Types -Type refinements -Static duck-typing -Path-dependent types -Self Types

Explicitly Implicit

-Implicit conversions -Implicit resolution, scopes and precedence -Library extension via implicit (value) classes -Implicit parameters -Implicit Values -Type classes -Implicit parameter chaining -Type class examples in the Scala core library -Type constructors -Context bounds -Type witnesses -Type tags

Domain Specific Languages (DSLs)

-DSL Building blocks: -By-name parameters -Currying -Higher-order functions -Dot-free operator notation -Implicit conversions

-Phantom types -Finite State Machines (FSM)

Scala Futures and Promises

-Execution contexts and Thread Pools -Creating & working with Futures -Futures & Failures - callbacks & recovery -Futures, concurrency & parallelism -Future.sequence/Future.traverse -Creating an already completed Future -Dealing with Future[Option[_]] and for comprehensions -Futures - Do's and Don'ts -Promises

Custom Scala Collections

-Uniform return type principle -Collection Builders -Like traits -Type classes for the tricky cases

Audience

Audience

If you are an experienced Scala developer (with at least 3 months Scala programming experience) and you would like to learn various advanced features like Scala's type system and implicits to create well designed libraries or DSLs using proven practices, this Advanced Scala course is for you!

Prerequisites

Students taking this course should have:

Bring your own hardware

You are required to bring your own laptop for this Advanced Scala course, with JDK 6 or above installed. A full installation guide for the course software will be provided with your course joining instructions.