fbpx

Functional programming with Scala & Spark

Functional programming with Scala & Spark2018-12-18T09:34:46+00:00

Start date

Series no. 1 – January 2019

Dates are estimates and can undergo minor changes.

Înscrie-te

Duration

16 weeks x 6 hours/week = 96 hours

Courses are held twice a week: 2 hours after 18:30 (Monday – Friday) and 4 hours on Saturday

Fees

900 euro + VAT

The fee covers all costs and can be paid in 4 installments: 1 rate when signing the contract and the other 3 in weeks 5, 9 and 13.

Curricula

Week 1: What is functional programming?

  • Introduction in FP
  • Functions
  • Function composition
  • Higher order functions
  • Immutability

Week 2: Setting up my environment

  • IntelliJ & Scala plugin
  • Terminal & REPL
  • Variables And Types
  • Fun with REPL

Week 3: Language basics I

  • Functions
  • String Manipulation
  • Type Inference
  • Examples

Week 4: Language basics II

  • Control structures
  • Packages & imports
  • Option vs null
  • My first program (App trait)
  • Examples

Week 5: Collections

  • Introduction to collections
  • Collection types (List, Seq, Array, Map, etc.)
  • Typed collections
  • Examples

Week 6: Working with collections

  • Higher Order Functions & lambda functions (anonymous)
  • Operations on collections (traversing, transforming, filtering, etc.)
  • For Comprehension & Ranges
  • Examples & demo

Week 7: Types & functions I

  • Tuples
  • Records (case classes)
  • Classes, Objects and Type Hierarchy
  • Pattern matching
  • Examples & demo

Week 8: Types & functions II

  • Modules and packages
  • Functions & partial functions
  • Function application (varargs, Call by Name, Call by Value)
  • Examples & demo

Week 9: More about functions

  • Type aliases & Generic Types
  • Recursive functions
  • Examples & demo

Week 10: Traits & Enumerations

  • Traits
  • Enumerations & Sum types
  • Pattern matching for records (extractor objects)
  • Examples & demo

Week 11: Concurrency and asynchronous processing

  • Threads and ExecutionContext
  • Futures & Promises
  • for notation and flatMap
  • Composing (chaining) futures

Week 12: Actors

  • Introduction to actor model
  • Actors and their guarantees
  • Actors as state machines
  • Examples & demo

Week 13: Advanced Language features

  • Re-visiting recursive functions and stack safety
  • Implicit casts
  • Extension methods
  • Co[ntra]variance
  • View bounds
  • Path dependent types
  • Examples

Week 14: Introduction to Apache Spark

  • What is Spark?
  • Databricks
  • Databricks UI & API
  • Demo

Week 15: Spark in detail

  • Spark architecture (driver & workers)
  • Spark data distribution (RDDs, DataFrames, Datasets)
  • Examples

Week 16: My first notebook

  • Spark components
  • Solving problems using Spark
  • Examples & demo

Traines

Octav Zaharia
Octav ZahariaTrainer

This Is A Custom Widget

This Sliding Bar can be switched on or off in theme options, and can take any widget you throw at it or even fill it with your custom HTML Code. Its perfect for grabbing the attention of your viewers. Choose between 1, 2, 3 or 4 columns, set the background color, widget divider color, activate transparency, a top border or fully disable it on desktop and mobile.

This Is A Custom Widget

This Sliding Bar can be switched on or off in theme options, and can take any widget you throw at it or even fill it with your custom HTML Code. Its perfect for grabbing the attention of your viewers. Choose between 1, 2, 3 or 4 columns, set the background color, widget divider color, activate transparency, a top border or fully disable it on desktop and mobile.