Scala Programming Language

Learn how to adopt Scala to efficiently build multi-core processing applications

Duration

2 Days

Level

Basic Level

Design and Tailor this course

As per your team needs

Edit Content

The Program is focussed on learning Scala.  Scala course is aimed at object-oriented and functional programming idioms carry over to and are deepened in this exciting new language. It covers Scala from basic syntax and language constructs, through its distinctive object-oriented characteristics and on to functional programming styles and pattern matching as applied to Scala’s extensive collections framework.

Edit Content

The intended audience for this course:

  • Data Engineers
  • Data Scientists
  • Integration Engineers
  • Architects
Edit Content
  • What is Scala?
  • Where did it come from?
  • Why should I use Scala?
  • Scala syntax
  • Scala REPL
  • Create and usage of classes
  • Fields and methods
  • Singleton objects
  • Companion object
  • Immutable objects
  • Case classes
  • Overview and usage collection library(List,Map,Set,Array,tuple)
  • Immutability, persistent data structures and structural sharing
  • Functions and high-order functions
  • Monads
  • Scala testing ecosystem
  • Introduction to Test Driven Development
  • ScalaTest
  • Difference between for loops and for expressions
  • Composing high-order functions
  • By-name parameters
  • Local functions
  • Short forms of function literals
  • Placeholder syntax
  • Partially applied functions
  • Currying
  • Closures
  • Recursion & Tail recursion
  • Folding/Reducing
  • Scala type system
  • Parameterized and abstract types
  • Structural types
  • Mix-in traits
  • Linearization
  • Putting code in packages
  • Imports
  • Access modifiers
  • Package objects
  • Implicit conversions
  • Rules for implicits
  • Implicit parameters
  • Context bounds
  • Usage and benefits
  • Pattern guard
  • Variable binding
  • On constants
  • Catch exceptions
  • Using Case classes
  • Deconstruct tuples
  • Introduction to Option
  • Usage and benefits
  • Introduction to Either
  • Introduction to Try
  • Usage and benefits
  • Write own with Try function
Edit Content

Participants should preferably have 1-2 years experience with an object-oriented (eg. Java, C#) or functional (eg. Haskell, Scheme) programming language and a good general understanding of object-oriented or functional programming language concepts.

Connect

we'd love to have your feedback on your experience so far