Corso linguaggio di programmazione Scala

logo Scala

Introduzione:

Scala (Scalable Language) è un linguaggio di programmazione orientato agli oggetti funzionale, general-purpose e multi-paradigma con una sintassi di base molto simile a quella di Java. Scala utilizza infatti il suo stesso modello di compilazione permettendo così l'accesso a molte librerie sviluppate in questo ambiente. Con questo linguaggio moderno è stato quindi agevolato lo sviluppo software per la piattaforma Java 2 Runtime Environment (JRE) col risultato di applicazioni Web altamente produttive. 

Scopo corso:

Il corso si pone l'obiettivo di permettere al partecipante lo sviluppo di applicazioni in Scala utilizzando lo stile funzionale di questo linguaggio e dei suoi tools principali. 

Destinatari:

Il corso è rivolto a sviluppatori o progettisti che vogliano acquisire solide basi del linguaggio e dei suoi tool con conoscenza ed esperienza nel linguaggio Java.

Cosa portare:

Un pc portatile con Wi-Fi, almeno 4GB di RAM, Eclipse o NetBeans preinstallati.

 

Materiale fornito:

Slides, esercizi ed eventuali documenti relativi al linguaggio.

Orari e diploma:

Il corso ha una durata di 2 giorni (per giornata si intendono 6h di lezione).
Alla fine verrà rilasciato un documento che attesta la frequenza del corso e, previo consenso, il CV del partecipante verrà inserito nel Db JDK per eventuali opportunità di collaborazione professionale.

Docenti:

Docente esperto in materia.

Metodo/Luogo:

In aula, Roma presso i NS. locali o presso la sede del Cliente.

Programma:

GIORNO 1

Introduzione a Scala:

  • Caratteristiche e vantaggi
  • Introduzione all'ambiente di lavoro
    • Sbt
    • REPL
    • ScalaIDE/worksheet
  • Sintassi di base
    • Variabili e values
    • Operatori
    • Tipi
      • Tipi come "oggetti"
      • Conversioni implicite
    • If statements
  • Utilizzo di collections (1)
    • Array
    • List
    • Seq
    • Sequence comprhensions
  • Funzioni (1)
    • Funzioni dentro funzioni
  • Recap: un piccolo Scala script
  • Esercitazioni: prime applicazioni con Scala

Programmare ad oggetti in Scala:

  • Classi ed oggetti
    • Immutable/mutable fields
    • Metodi
    • Ereditarietà
    • Override
    • Overload
    • Classi annidate
  • Traits
  • Object
  • Unified Types, Any, Java Object
  • Case classes & Case objects
    • Default & named arguments
  • Tuples
  • Pattern Matching
    • Regular expressions
    • Extractors
  • Recap: Scala vs Java
  • Esercitazioni

GIORNO 2

Usare Scala per monitorare dati

  • Utilizzo di collections [2]
    • Seq
    • Stream
    • Sequence Comprehensions
    • .map()
    • .foreach()
    • .filter()
  • Estendere le classi
    • Generic Classes
    • Classi e metodi
    • Compound Types
  • Uso di implicits
  • Scala I/O
    • Source
    • Usare Java I/O (File, InputStream, etc)
  • Recap: Scala vs Java
  • Esercitazioni

Programmazione funzionale con Scala

  • Funzioni [2]
    • Higher-order functions
    • Anonymous functions
  • Recap: Monads
    • Functor
    • Side effects
    • .flatmap() per il bind
    • Option
    • Set
    • For comprehension / generators
  • Esercitazioni

Per le versioni customizzate o per le aziende sarà possibile seguire anche i seguenti approfondimenti:

  • Scala e DB
  • Testing
  • XML Processing
  • JSON PRocessing

Contattaci per più info!

esercizi Tante esercitazioni!

 

QUESTO CORSO E' DISPONIBILE NELLE SEGUENTI MODALITA':

 

Corso di gruppo Corso per aziende Corsi a tu per tu

 Gruppo

Aziende

A tu per tu