Formation Scala

Notée : (14)*

Formation Scala de 3 jours : maîtrisez OOP, programmation fonctionnelle et concepts avancés pour construire des applications robustes et scalables.

Formation Scala

**Cette formation Scala vous permettra de maîtriser Scala en alliant programmation orientée objet et fonctionnelle.

En trois jours, vous explorerez :
- les fondamentaux (syntaxe, classes, collections),
- la programmation fonctionnelle (immuabilité, monades, gestion des erreurs avec Option et Either), et
- les concepts avancés (les implicites, les génériques ou la métaprogrammation).

Que vous souhaitiez développer des projets Big Data ou des applications modernes, cette formation vous équipera des outils essentiels pour vous lancer avec Scala.

Cette formation s’adresse aux développeur·euse·s et ingénieur·e·s logiciels souhaitant apprendre à maîtriser Scala.


Si vous êtes intéressé·e plutôt pour apprendre à maîtriser le Big Data, découvrez notre formation Big Data !

Les objectifs

  • Comprendre les bases de Scala (syntaxe, écosystème, programmation fonctionnelle et programmation orientée objet)
  • Maîtriser les concepts fonctionnels de Scala
  • Manipuler les collections et appliquer le pattern matching efficacement
  • Exploiter les fonctions avancées (récursivité, implicites, génériques et calculs asynchrones)
  • Modéliser des systèmes robustes avec les types algébriques de données (ADT)
  • Développer des solutions optimisées grâce à la mémoïsation et l’évaluation paresseuse

Pré-requis

  • Connaissances de base en programmation (idéalement en Java ou un langage similaire)
  • Familiarité avec les concepts d’objets (classes, instances)
  • Ordinateur portable à apporter

Le programme de la formation Scala

Jour 1 : Fondations et prise en main de Scala

  • Introduction à Scala
    • Historique et panorama général
    • Pourquoi choisir Scala ?
  • L'écosystème Scala
    • REPL : Exploration interactive
    • Sbt : Gestion de projets et builds
  • Syntaxe de base
  • Programmation orientée objet avec Scala
    • Classes et instance
    • Objets (companions et singletons)
    • Tuples
    • Décomposition d’objet avec extracteurs
    • Case class
      • Méthodes apply et unapply
    • Correspondance de motifs (Pattern Matching)
    • Traits (Interfaces avec implémentation)
  • Collections en Scala
    • API standard des collections
    • Variance : Covariance et contravariance

Mises en pratique :
- Créer une case class Personne avec un pattern matching pour extraire et afficher ses attributs (nom, âge)
- Implémenter une petite collection de nombres avec une méthode pour filtrer les pairs en utilisant l’API standard

Jour 2 : Programmation Fonctionnelle et Modélisation

  • Structures fonctionnelles
    • Gestion des valeurs absentes : Option
    • Gestion des erreurs : Try
    • Choix entre deux types : Either
    • Calculs asynchrones : Future
    • Monades : Concepts et applications
      • For-comprehension
  • Philosophie de la programmation fonctionnelle
    • Données non modifiables : Immuabilité
    • Fonctions sans effets secondaires : Pureté
    • Gestion de l’état dans un paradigme fonctionnel
  • Modélisation avec les types algébriques de données (ADT)

Mises en pratique :
- Écrire une fonction qui utilise Option et for-comprehension pour gérer une division sécurisée
- Modéliser un système de gestion d’erreurs avec Either pour valider une entrée utilisateur

Jour 3 : Concepts avancés de Scala

  • Fonctions d'ordre supérieur
    • Transformation de fonctions: Currying
    • Approche et optimisation de la récursivité
    • Memoization pour la mise en cache des résultats
    • Évaluation paresseuse (Lazy)
  • Mécanisme des implicites
    • Résolution automatique des valeurs implicites
    • Conversions implicites
    • Extension de fonctionnalité des classes implicites
  • Génériques : Types paramétrés
  • Métaprogrammation en Scala avec les macros
  • Librairies : Aperçu des outils tiers

Mises en pratique :
- Développer une fonction récursive avec mémoïsation pour calculer la suite de Fibonacci efficacement
- Utiliser une classe implicite pour ajouter une méthode personnalisée à une classe existante

Télécharger le programme

FAQ

Nos formations sont éligibles à plusieurs dispositifs de financement, selon votre situation. Human Coders est certifié Qualiopi, ce qui permet la prise en charge par des organismes comme Pôle emploi, votre OPCO ou encore le CPF (Compte Personnel de Formation) pour certaines formations.

Pour en savoir plus, veuillez consulter notre page : Comment financer votre formation ?

Oui, la formation peut être proposée en présentiel ou en distanciel. Pour les inter-entreprises, les modalités (présentiel ou à distance) sont fonction de la session.

Nous pouvons organiser des sessions à d'autres dates ou dans d'autres villes (Bordeaux, Lille, Lyon, Marseille, Montpellier, Nantes, Nice, Paris, Strasbourg, Toulouse...)

Les formations se déroulent toujours en petit groupe de 3 à 6 stagiaires. Nous souhaitons que les formateurs et formatrices puissent passer un maximum de temps avec chacun·e.

Voici une journée type :

  • 9h : vous êtes accueillis par votre formateur·rice autour d'un petit déjeuner (croissants, pains au chocolat, jus de fruit, thé ou café...)
  • 9h30 : la formation commence
  • 12h30 : pause de midi. Le·a formateur·rice mangera avec vous. C'est l'occasion d'avoir des discussions plus informelles.
  • 14h : reprise de la formation
  • 18h : fin de la journée

8 raisons de participer à une formation Human Coders

  • Satisfaction client élevée : Un taux de statisfaction de 4,6/5 depuis 2012 (sur 1646 sessions réalisées). 99% des participants se disent satisfaits de nos formations
  • Approche pédagogique unique : Des formations en petit groupe, des formateurs passionnés et expérimentés, de véritables workshops... (Plus d'infos sur notre manifeste)
  • Catalogue de formations complet : 170 formations au catalogue, de quoi vous accompagner sur tout vos projets
  • Écosystème dynamique : Nous accompagnons les dev depuis 13 ans avec des initiatives comme Human Coders News, les Human Talks, le podcast ou encore notre serveur Discord
  • Financement facilité : Organisme certifié Qualiopi, indispensable pour que vous puissiez obtenir des aides au financement via votre OPCO
  • Références clients prestigieuses : De nombreux clients qui nous font confiance depuis des années
  • Accompagnement sur mesure : Nous vous proposons un accompagnement personnalisé par nos consultants pour vous aider dans vos projets au-delà de la formation
  • Valorisation professionnelle : Remise d'un diplôme, d'une attestation et d'une certification, suivant les formations effectuées, que vous pourrez afficher sur vos CV et réseaux sociaux

* Nombre de personnes ayant répondu au questionnaire de satisfaction sur cette formation depuis 2012