Accueil > Big Data, IA > Programmation Scala
Formation #BSI32

Formation Programmation Scala

Durée : 4 jours

Code : BSI32


Prochaines dates programmées :

Du 30 Avril au 03 Mai 2024

Du 04 au 07 Juin 2024

Du 06 au 09 Août 2024

Du 15 au 18 Oct. 2024

Du 10 au 13 Déc. 2024

Fin d'Inscription :
Le Bulletin d'Inscription doit être rempli, cacheté, signé et envoyé par email : Au minimum 15 JOURS OUVRÉS avant la date de formation.
Si vous avez un besoin URGENT et que vous souhaitez une date de formation plus proche que les sessions programmées (minimum 15 à 20 jours ouvrés à date de votre demande)

Objectifs

  • Comprendre les liens entre Scala, Java et la JVM
  • Comprendre les concepts de la programmation fonctionnelle
  • Etre capable de développer une application Scala
Programme
1/ Introduction à Scala
  • Historique de Scala : a Scalable Language
  • Fonctionnalités principales
  • Limitations des langages traditionnels
  • Bases théoriques de Scala
  • Définition des langages fonctionnels
  • Scala et Java
  • Comparaison de Scala avec les autres languages de programmation
  • Applications utilisant le langage (Twitter, …)
2/ Préparations et installation
  • Installation de la distribution et du plug-in
  • Installation de SBT
  • Shell
  • Environnements de développement
  • Compilateur et interpréteur du langage
  • Utiliser Maven
  • Déployer sur un serveur
3/ Première interaction avec Scala
  • Utiliser l’interpréteur Scala
  • Présentation de la syntaxe Scala
  • Définition de quelques variables et fonctions
  • Types et Opérateurs
  • Contrôlez le flux du programme
  • Structures de contrôle
  • Packages et imports
  • Les classes (class et object)
  • Interfaces
  • Conversions implicites et mécanismes d’inférence
  • Hiérarchie d’héritage
  • Gérez les exceptions
4/ Outils Scala
  • Compilateur Scala (scalac)
  • Ligne de commande avec l’interpréteur REPL
  • Utilisation de Scala sous Eclipse
5/ Programmation fonctionnelle
  • Données non-mutables : variables, structures de données, objets, …
  • Les listes
  • Tuples et tables associatives (set)
  • Fonctions de premier ordre
  • Fonctions anonymes
  • Récursivité
  • Currying
  • Closures
  • Les annotations
6/ Collections
  • Le point fort de Scala pour stocker et manipuler les données
  • Un ensemble riche de collections
  • Structures basiques des données
  • Opérations sur les collections
7/ For-expressions et for-loops
  • Générateurs
  • Filtres
  • Définitions
  • Transformation des for-expressions et des for-loops
8/ Scala et la programmation objet
  • Classes finales, scellées et abstraites
  • Objets singletons
  • Les packages et les imports
  • Énumérations
  • Redéfinition de membres
  • Hiérarchie des types standards
  • Les traits, les mixins
9/ Pattern matching
  • Match-expressions
  • Pattern types
  • Pattern guards
  • Patterns outside of match expressions
10/ APIs et librairies
  • Collections
  • Manipuler XML
  • Utiliser des librairies de l’écosystème java
11/ Tests
  • Gestion et automatisation de production des projets Scala avec SBT
  • La TDD
  • Test avec specs2
  • Tests unitaires avec ScalaTest
12/ Utilisation de Scala
  • Frameworks utilisant Scala
  • Scala et Play!
  • Cohabitation Java/Scala
  • Acteurs et concurrence
Approche Pédagogique

Approche Pédagogique

  • Pédagogie très opérationnelle fondée sur l'alternance entre théorie et pratique
  • Cas pratiques
  • Remise d’outils
  • Echanges d’expériences
Public cible

Public cible

  • Chefs de projet
  • Data scientists
  • Développeurs
Dates

Dates

  • Du 30 Avril au 03 Mai 2024
  • Du 04 au 07 Juin 2024
  • Du 06 au 09 Août 2024
  • Du 15 au 18 Oct. 2024
  • Du 10 au 13 Déc. 2024
  • Fin d'Inscription :
    Le Bulletin d'Inscription doit être rempli, cacheté, signé et envoyé par email : Au minimum 15 JOURS OUVRÉS avant la date de formation.