• pour les personnes
  • pour les affaires
  • pour les universités
  • pour les gouvernements
Coursera
  • Coursera Plus
  • Connexion
  • Inscrivez-vous gratuitement
    Coursera
    École Polytechnique Fédérale de Lausanne
    Programmation efficace en Scala
    • À propos
    • Modules
    • Témoignages
    • Avis
    • Recommandations
    1. Parcourir
    2. Informatique
    3. Développement de logiciels
    École Polytechnique Fédérale de Lausanne

    Programmation efficace en Scala

    Julien Richard-Foy
    Noel Welsh

    Instructeurs : Julien Richard-Foy

    Enseignants

    Évaluations de l’enseignant

    Nous avons demandé à tous les étudiants de fournir des commentaires sur nos enseignants au sujet de la qualité de leur pédagogie.

    4.8 (94 évaluations)
    Julien Richard-Foy
    Julien Richard-Foy
    École Polytechnique Fédérale de Lausanne
    4 Cours•30 861 apprenants
    Noel Welsh
    Noel Welsh
    École Polytechnique Fédérale de Lausanne
    1 Cours•15 401 apprenants

    15 401 déjà inscrits

    Inclus avec Coursera Plus

    •En savoir plus
    6 modules
    Obtenez un aperçu d'un sujet et apprenez les principes fondamentaux.
    4.6

    92%

    (175 avis)

    niveau Intermédiaire

    Expérience recommandée

    Expérience recommandée

    Niveau intermédiaire

    Une certaine expérience dans un langage de programmation

    Planning flexible
    Env. 74 heures
    Apprenez à votre propre rythme
    Obtenir un Certificat
    Avec des formules payantes

    6 modules
    Obtenez un aperçu d'un sujet et apprenez les principes fondamentaux.
    4.6

    92%

    (175 avis)

    niveau Intermédiaire

    Expérience recommandée

    Expérience recommandée

    Niveau intermédiaire

    Une certaine expérience dans un langage de programmation

    Planning flexible
    Env. 74 heures
    Apprenez à votre propre rythme
    Obtenir un Certificat
    Avec des formules payantes
    • À propos
    • Modules
    • Témoignages
    • Avis
    • Recommandations

    Ce que vous apprendrez

    • Exploiter les idiomes Scala pour modéliser les domaines d'activité et mettre en œuvre la logique d'entreprise

    • Concepts fondamentaux du langage, vous permettant de lire et de comprendre les bases de code Scala

    • Meilleures pratiques et modèles courants utilisés dans le monde réel

    • Être à l'aise avec les calculs asynchrones, la gestion des échecs et la manipulation de structures de données récursives

    Compétences que vous acquerrez

    • Catégorie : Modèles de conception de logiciels
      Modèles de conception de logiciels
    • Catégorie : Validation des données
      Validation des données
    • Catégorie : Environnement de développement
      Environnement de développement
    • Catégorie : Outils de construction
      Outils de construction
    • Catégorie : structures de données
      structures de données
    • Catégorie : Test de logiciels
      Test de logiciels
    • Catégorie : Modélisation des données
      Modélisation des données
    • Catégorie : Programmation orientée objet (POO)
      Programmation orientée objet (POO)
    • Catégorie : Tests unitaires
      Tests unitaires
    • Catégorie : Java
      Java
    • Catégorie : Débogage
      Débogage
    • Catégorie : Programmation en Scala
      Programmation en Scala

    Détails à connaître

    Certificat partageable

    Ajouter à votre profil LinkedIn

    Évaluations

    34 devoirs

    Enseigné en Anglais

    Découvrez comment les employés des entreprises prestigieuses maîtrisent des compétences recherchées

    En savoir plus sur Coursera pour les affaires
     logos de Petrobras, TATA, Danone, Capgemini, P&G et L'Oreal
    Certificat professionnel Coursera

    Obtenez un certificat professionnel

    Ajoutez cette qualification à votre profil LinkedIn ou à votre CV

    Partagez-le sur les réseaux sociaux et dans votre évaluation de performance

    Certificat professionnel Coursera

    Il y a 6 modules dans ce cours

    Scala est un langage de programmation expressif, polyvalent et sûr. Dans ce cours, vous apprendrez à tirer le meilleur parti de Scala pour résoudre des tâches de programmation courantes telles que la modélisation de domaines d'activité, la décomposition de problèmes complexes en problèmes plus simples, la manipulation de données ou l'exécution de tâches parallèles. En cours de route, vous apprendrez également les meilleures pratiques pour écrire un code de haute qualité qui s'adapte à de grandes applications, comment gérer les erreurs, comment écrire des tests et comment tirer parti d'un environnement de développement productif. Ce cours complet et pratique vise à améliorer vos compétences en programmation en embrassant à la fois la programmation fonctionnelle et la programmation orientée objet. Vous vous familiariserez avec la bibliothèque standard et les modèles de code couramment utilisés dans le monde réel. Chaque semaine contient environ 1h30 de cours vidéo. Chaque conférence est une vidéo d'environ 10 minutes centrée sur une compétence ou un concept spécifique. Nous commençons toujours par examiner des problèmes concrets, puis nous expliquons comment les caractéristiques du langage ou les bibliothèques vous rendent plus productif pour résoudre ces problèmes en général. Les cours magistraux sont généralement suivis d'un quiz pour évaluer vos progrès. A la fin de chaque semaine, un travail noté, inspiré d'applications du monde réel, vous donnera l'occasion de mettre les choses en pratique. Le cours couvre Scala 3, et mentionne les différences avec Scala 2.

    Tout d'abord, commencez à utiliser Scala sur votre ordinateur. Ensuite, apprenez à écrire et à évaluer des expressions et des définitions de base. Enfin, vous apprendrez à modéliser un domaine d'activité en définissant des classes de cas et des traits scellés.

    Inclus

    11 vidéos4 lectures6 devoirs2 devoirs de programmation

    11 vidéos•Total 56 minutes
    • Introduction•3 minutes•Prévisualiser le module
    • Éléments des programmes•6 minutes
    • Les types•4 minutes
    • Méthodes et paramètres•7 minutes
    • Conditions•2 minutes
    • Évaluation des définitions•1 minute
    • Modélisation du domaine•2 minutes
    • Classes de cas•4 minutes
    • Traits scellés•5 minutes
    • Les énumérations•3 minutes
    • Logique d'entreprise•15 minutes
    4 lectures•Total 30 minutes
    • Travailler sur les devoirs•5 minutes
    • Configuration des outils (à lire)•10 minutes
    • Scala 3 REPL et feuilles de travail•10 minutes
    • Quand l'évaluation échoue•5 minutes
    6 devoirs•Total 75 minutes
    • Les types•10 minutes
    • Méthodes et paramètres•10 minutes
    • Conditions•10 minutes
    • Classes de cas•15 minutes
    • Traits scellés•15 minutes
    • Modélisation du domaine•15 minutes
    2 devoirs de programmation•Total 600 minutes
    • Feux d'artifice•300 minutes
    • Feux d'artifice (version audit)•300 minutes

    Manipulez des collections de valeurs en utilisant le type de données générique List de la bibliothèque standard. Découvrez ensuite les autres structures de données génériques fournies par la bibliothèque standard (ensembles, séquences et cartes) et leurs cas d'utilisation respectifs. Toutes les classes de collection disposent d'un ensemble complet d'opérations de haut niveau pour transformer, filtrer et itérer sur leurs éléments. Enfin, vous apprendrez quelques techniques pour implémenter des boucles en Scala, ainsi que leurs avantages.

    Inclus

    14 vidéos1 lecture9 devoirs2 devoirs de programmation

    14 vidéos•Total 104 minutes
    • Premiers pas avec les listes•9 minutes•Prévisualiser le module
    • Fonctions•10 minutes
    • Autres opérations sur les listes•9 minutes
    • Présentation des collections•2 minutes
    • Construire des collections•7 minutes
    • Interroger les collections•4 minutes
    • Transformer les collections•11 minutes
    • Séquences et cartes•4 minutes
    • Option•6 minutes
    • Collections Extra•10 minutes
    • Présentation des boucles•6 minutes
    • Autres exemples de boucles•13 minutes
    • Récursion de la queue•3 minutes
    • "pour" Syntaxe•5 minutes
    1 lecture•Total 15 minutes
    • Syntaxe courte pour les fonctions•15 minutes
    9 devoirs•Total 80 minutes
    • Fonctions•10 minutes
    • Autres opérations sur les listes•5 minutes
    • Construire des collections•15 minutes
    • Interroger les collections•10 minutes
    • Transformer les collections•10 minutes
    • Option•5 minutes
    • Collections•10 minutes
    • Boucles•5 minutes
    • "pour" Syntaxe•10 minutes
    2 devoirs de programmation•Total 600 minutes
    • Démocratie•300 minutes
    • Démocratie (version d'audit)•300 minutes

    Comment écrire des projets Scala plus grands qu'une feuille de calcul ? Apprenez à définir un point d'entrée pour un projet Scala et découvrez les outils que vous pouvez utiliser pour écrire, compiler, exécuter et déboguer votre code. Ensuite, utilisez les techniques de programmation orientée objet pour décomposer un projet complexe en petits composants modulaires. Enfin, nous discuterons de l'opportunité d'utiliser des classes de cas par rapport à des classes simples.

    Inclus

    10 vidéos7 devoirs2 devoirs de programmation

    10 vidéos•Total 64 minutes
    • Organiser le code•5 minutes•Prévisualiser le module
    • Outils de construction•2 minutes
    • Introduction à l'outil de construction sbt•15 minutes
    • sbt, clés et champs d'application•6 minutes
    • Point d'entrée du programme•3 minutes
    • Encapsulation•7 minutes
    • Extension et raffinement des classes•6 minutes
    • Classes de cas et classes simples•5 minutes
    • Types opaques•6 minutes
    • Méthodes d'extension•6 minutes
    7 devoirs•Total 60 minutes
    • Organiser le code•5 minutes
    • Point d'entrée du programme•10 minutes
    • Encapsulation•10 minutes
    • Extension et raffinement des classes•5 minutes
    • Classes de cas et classes simples•5 minutes
    • Types opaques•15 minutes
    • Méthodes d'extension•10 minutes
    2 devoirs de programmation•Total 600 minutes
    • Liste des tâches•300 minutes
    • Liste de tâches (version d'audit)•300 minutes

    En Scala, il est recommandé d'utiliser par défaut des types de données immuables. En effet, ils ont des propriétés souhaitables telles que la sécurité des threads et la possibilité de raisonner localement. Cependant, dans certains cas, les variables mutables conduisent à un code plus simple, comme vous le verrez dans les cours. Nous aborderons ensuite différentes techniques de test telles que les tests unitaires, les tests basés sur les propriétés, les tests d'intégration et le mocking.

    Inclus

    10 vidéos1 lecture4 devoirs2 devoirs de programmation

    10 vidéos•Total 49 minutes
    • Raisonnement sur le code•3 minutes•Prévisualiser le module
    • Des programmes à l'épreuve du refactoring•4 minutes
    • Un cas d'effets secondaires•4 minutes
    • Objets mutables•4 minutes
    • Tests unitaires•5 minutes
    • Tests basés sur la propriété•11 minutes
    • Moquerie•2 minutes
    • Tests d'intégration•3 minutes
    • Tester les tests•1 minute
    • Débogage des programmes•6 minutes
    1 lecture•Total 45 minutes
    • Intermède : Mnémonique du téléphone•45 minutes
    4 devoirs•Total 35 minutes
    • Des programmes à l'épreuve du refactoring•5 minutes
    • Tests unitaires•10 minutes
    • Tests basés sur la propriété•10 minutes
    • Essais•10 minutes
    2 devoirs de programmation•Total 600 minutes
    • Quickcheck•300 minutes
    • Quickcheck (version audit)•300 minutes

    Les programmes automatisent les tâches répétitives. Parfois, l'écriture d'un programme est une tâche répétitive. Nous examinerons une fonctionnalité unique de Scala qui permet au compilateur d'écrire certaines parties (répétitives) de vos programmes à votre place ! En se basant sur le type attendu d'un paramètre, le compilateur peut fournir une valeur pour ce paramètre s'il trouve une valeur candidate non ambiguë. Cette technique est souvent utilisée pour générer automatiquement le sérialiseur et le désérialiseur d'un type de données, uniquement sur la base de sa définition, par exemple.

    Inclus

    8 vidéos1 lecture5 devoirs2 devoirs de programmation

    8 vidéos•Total 50 minutes
    • Motivation•5 minutes•Prévisualiser le module
    • Paramètres de contexte•6 minutes
    • Définitions données•10 minutes
    • Priorités entre les définitions données•4 minutes
    • Classes de type•4 minutes
    • Définitions conditionnelles données•7 minutes
    • Classes de types et méthodes d'extension•3 minutes
    • Conversions implicites•7 minutes
    1 lecture•Total 10 minutes
    • Programmation dirigée par les types en Scala 2•10 minutes
    5 devoirs•Total 50 minutes
    • Paramètres de contexte•5 minutes
    • Définitions données•15 minutes
    • Priorités entre les définitions données•5 minutes
    • Définitions conditionnelles données•15 minutes
    • Conversions implicites•10 minutes
    2 devoirs de programmation•Total 600 minutes
    • Codecs•300 minutes
    • Codecs (version audit)•300 minutes

    Scala propose un mécanisme simple de bas niveau pour la gestion des erreurs : les exceptions. Nous discutons des avantages et des inconvénients de ce mécanisme, et nous montrons des approches alternatives que vous pouvez appliquer lorsque vous voulez rendre explicite dans la signature d'une méthode qu'elle peut échouer avec une erreur. Nous abordons ensuite un sujet similaire, la validation des données d'entrée, où nous voulons construire des messages d'erreur agréables à lire, listant toutes les erreurs que l'utilisateur doit corriger. Nous terminons par quelques exposés montrant comment travailler avec des calculs asynchrones et comment exploiter les multiples processeurs d'un ordinateur en exécutant des tâches en parallèle. Vous verrez que les mêmes idiomes que nous avons utilisés pour écrire des règles de validation de données peuvent également être utilisés pour écrire des graphes de calculs parallèles.

    Inclus

    10 vidéos1 lecture3 devoirs2 devoirs de programmation

    10 vidéos•Total 78 minutes
    • Gestion des erreurs•7 minutes•Prévisualiser le module
    • Gestion des erreurs avec Try•7 minutes
    • Manipulation des valeurs d'essai•12 minutes
    • Validation des données•7 minutes
    • Manipulation des valeurs validées•6 minutes
    • Combiner essayer et soit•4 minutes
    • Programmation simultanée•8 minutes
    • Opérations sur le type Futur•8 minutes
    • Exemples avec le futur•6 minutes
    • Contexte d'exécution•8 minutes
    1 lecture•Total 30 minutes
    • Suivez les types•30 minutes
    3 devoirs•Total 30 minutes
    • Exceptions•10 minutes
    • Essayer et choisir•10 minutes
    • Futures•10 minutes
    2 devoirs de programmation•Total 600 minutes
    • Wikigraph•300 minutes
    • Wikigraph (version d'audit)•300 minutes

    Instructeurs

    Évaluations de l’enseignant

    Évaluations de l’enseignant

    Nous avons demandé à tous les étudiants de fournir des commentaires sur nos enseignants au sujet de la qualité de leur pédagogie.

    4.8 (94 évaluations)
    Julien Richard-Foy
    Julien Richard-Foy
    École Polytechnique Fédérale de Lausanne
    4 Cours•30 861 apprenants
    Noel Welsh
    Noel Welsh
    École Polytechnique Fédérale de Lausanne
    1 Cours•15 401 apprenants

    Offert par

    École Polytechnique Fédérale de Lausanne

    Offert par

    École Polytechnique Fédérale de Lausanne

    Pour quelles raisons les étudiants sur Coursera nous choisissent-ils pour leur carrière ?

    Felipe M.
    Étudiant(e) depuis 2018
    ’Pouvoir suivre des cours à mon rythme à été une expérience extraordinaire. Je peux apprendre chaque fois que mon emploi du temps me le permet et en fonction de mon humeur.’
    Jennifer J.
    Étudiant(e) depuis 2020
    ’J'ai directement appliqué les concepts et les compétences que j'ai appris de mes cours à un nouveau projet passionnant au travail.’
    Larry W.
    Étudiant(e) depuis 2021
    ’Lorsque j'ai besoin de cours sur des sujets que mon université ne propose pas, Coursera est l'un des meilleurs endroits où se rendre.’
    Chaitanya A.
    ’Apprendre, ce n'est pas seulement s'améliorer dans son travail : c'est bien plus que cela. Coursera me permet d'apprendre sans limites.’

    Avis des étudiants

    4.6

    175 avis

    • 5 stars

      76,57 %

    • 4 stars

      15,42 %

    • 3 stars

      4 %

    • 2 stars

      2,85 %

    • 1 star

      1,14 %

    Affichage de 3 sur 175

    S
    SW
    5

    Révisé le 7 nov. 2021

    T​he assignments gained in engagement as the course progressed, which added a twist to the challenge and helping to solidify the subjects!

    R
    RK
    5

    Révisé le 16 juin 2021

    E​xcellent course, I really enjoyed it! With not a lot of practical experience with FP (yet) it was a bit of challenge at times. But the forum and support was helpful.

    J
    JH
    5

    Révisé le 15 juin 2021

    N​ice course, I knew scala 2 very well and was happy to learn of the new scala 3 idioms. Thanks for taking the time to put all this together.

    Voir plus d’avis
    Coursera Plus

    Accédez à tous ces cours et à bien d'autres encore grâce à un abonnement

    • É

      École Polytechnique Fédérale de Lausanne

      Functional Programming Principles in Scala

      4,8
      évaluation, 4,8 sur 5 étoiles
      ·
      8,3 k avis

      Intermediate · Cours

    • É

      École Polytechnique Fédérale de Lausanne

      Functional Programming Principles in Scala (Scala 2 version)

      4,8
      évaluation, 4,8 sur 5 étoiles
      ·
      64 avis

      Intermediate · Cours

    • É

      École Polytechnique Fédérale de Lausanne

      Functional Program Design in Scala

      4,5
      évaluation, 4,5 sur 5 étoiles
      ·
      3,1 k avis

      Intermediate · Cours

    • É

      École Polytechnique Fédérale de Lausanne

      Functional Program Design in Scala (Scala 2 version)

      4,6
      évaluation, 4,6 sur 5 étoiles
      ·
      10 avis

      Intermediate · Cours

    En savoir plus
    Coursera Plus

    Débloquer l'accès aux cours 10,000+ avec un abonnement

    Explorez les rôles et les compétences, apprenez plus efficacement avec Coursera Coach et obtenez des diplômes reconnus.

    En savoir plus

    Faites progresser votre carrière avec un diplôme en ligne

    Obtenez un diplôme auprès d’universités de renommée mondiale - 100 % en ligne

    Découvrir les diplômes

    Rejoignez plus de 3 400 entreprises mondiales qui ont choisi Coursera pour les affaires

    Améliorez les compétences de vos employés pour exceller dans l’économie numérique

    En savoir plus

    Foire Aux Questions

    L'accès aux cours et aux devoirs dépend de votre type d'inscription. Si vous suivez un cours en mode audit, vous pourrez consulter gratuitement la plupart des supports de cours. Pour accéder aux devoirs notés et obtenir un certificat, vous devrez acheter l'expérience de certificat, pendant ou après votre audit. Si vous ne voyez pas l'option d'audit :

    • Il se peut que le cours ne propose pas d'option d'audit. Vous pouvez essayer un essai gratuit ou demander une aide financière.

    • Le cours peut proposer l'option "Cours complet, pas de certificat" à la place. Cette option vous permet de consulter tous les supports de cours, de soumettre les évaluations requises et d'obtenir une note finale. Cela signifie également que vous ne pourrez pas acheter un certificat d'expérience.

    Lorsque vous achetez un certificat, vous avez accès à tous les supports de cours, y compris les devoirs notés. Une fois le cours terminé, votre certificat électronique sera ajouté à votre page de réalisations. Vous pourrez alors l'imprimer ou l'ajouter à votre profil LinkedIn. Si vous souhaitez uniquement lire et visualiser le contenu du cours, vous pouvez l'auditer gratuitement.

    Vous pouvez prétendre à un remboursement intégral jusqu'à deux semaines après la date de votre paiement ou (pour les cours qui viennent d'être lancés) jusqu'à deux semaines après le début de la première session du cours, la date la plus tardive étant retenue. Vous ne pouvez pas obtenir de remboursement une fois que vous avez obtenu un certificat de cours, même si vous terminez le cours pendant la période de remboursement de deux semaines. Consultez notre politique de remboursement complèteS’ouvre dans un nouvel onglet.

    Oui, pour certains programmes de formation, vous pouvez demander une aide financière ou une bourse si vous n'avez pas les moyens de payer les frais d'inscription. Si une aide financière ou une bourse est disponible pour votre programme de formation, vous trouverez un lien pour postuler sur la page de description.

    Plus de questions

    Visitez le Centre d'Aide pour les Étudiants

    Aide financière disponible,

    Pied de page Coursera

    Compétences techniques

    • ChatGPT
    • Codage
    • Informatique
    • Cybersécurité
    • DevOps
    • Piratage éthique
    • IA générative
    • Programmation Java
    • Python
    • Développement Web

    Compétences analytiques

    • Intelligence artificielle
    • Big Data
    • Analyse de valeur et de rentabilité
    • analyse des données
    • Science des données
    • Modélisation financière
    • Apprentissage automatique
    • Microsoft Excel
    • microsoft power bi
    • SQL

    Compétences professionnelles

    • Comptabilité
    • Marketing numérique
    • Commerce électronique
    • Finance
    • Google
    • Conception graphique
    • IBM
    • Marketing
    • Project Management
    • Le marketing appliqué aux réseaux sociaux

    Ressources professionnelles

    • Certifications informatiques essentielles
    • Compétences à acquérir pour les hauts revenus
    • Comment obtenir un certificat PMP
    • Comment apprendre l'Intelligence artificielle (IA)
    • Certifications populaires en cybersécurité
    • Certifications appréciées en analyse des données
    • Que fait un analyste de données ?
    • Ressources pour le développement de carrière
    • Test d'aptitude professionnelle
    • Partagez votre histoire d'apprentissage Coursera

    Coursera

    • À propos
    • Ce que nous proposons
    • Direction
    • Carrières
    • Catalogue
    • Coursera Plus
    • Certificats Professionnels
    • Certificats MasterTrack®
    • Diplômes
    • Pour l'entreprise
    • Pour les gouvernements
    • Pour le campus
    • Devenir un partenaire
    • Impact social
    • cours gratuits
    • Recommandations de crédits ECTS

    Communauté

    • Étudiants
    • Partenaires
    • Testeurs bêta
    • Blog
    • Le podcast Coursera
    • Blog Tech
    • Centre d'enseignement

    Plus

    • Presse
    • Investisseurs
    • Conditions
    • Confidentialité
    • Aide
    • Accessibilité
    • Contact
    • Articles
    • Répertoire
    • Filiales
    • Déclaration sur l’esclavage moderne
    • Gérer les préférences en matière de cookies
    Apprendre partout
    Télécharger dans l'App Store
    Disponible sur Google Play
    Logo Certified B Corporation
    © 2025 Coursera Inc. Tous droits réservés.
    • Facebook Coursera
    • Linkedin Coursera
    • Twitter Coursera
    • YouTube Coursera
    • Instagram Coursera
    • TikTok Coursera
    Coursera

    S'inscrire

    Profitez de votre temps libre pour apprendre auprès des meilleures universités et entreprises.

    ​
    ​
    Entre 8 et 72 caractères
    Votre mot de passe est masqué
    ​

    ou

    Vous utilisez déjà Coursera ?


    J'accepte les Conditions d'utilisation et les Notification de confidentialité de Coursera. Vous rencontrez des difficultés pour vous connecter ? Centre d'Aide pour les Étudiants

    Ce site est protégé par reCAPTCHA Enterprise et la Politique de confidentialité Google et les Termes et Conditions s'appliquent.