Data începere

Seria 1 – Aprilie 2019

Datele sunt estimative și pot suferi modificări minore.

Înscrie-te

Durată

16 săptămâni x 6 ore/săptămână = 96 ore

Cursurile se desfășoară de 2 ori pe săptămână: 2 ore seara după 18:30 (luni-vineri) și 4 ore sâmbăta

Taxă participare

900 euro + TVA

Taxa acoperă toate costurile și poate fi plătită în 4 rate: 1 rată la semnarea contractului, iar celelalte 3 în săptămânile 5, 9 și 13.

Programa

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

Trainer

Octav Zaharia
Octav ZahariaTrainer