Dans ce cours, vous apprendrez à appliquer le style de programmation fonctionnelle dans la conception d'applications Scala plus importantes. Vous apprendrez à connaître les nouveaux concepts importants de la programmation fonctionnelle, de l'évaluation paresseuse à la structuration de vos bibliothèques à l'aide de monades. Nous travaillerons sur des exemples plus larges et plus impliqués, de l'exploration de l'espace d'état aux tests aléatoires en passant par les simulateurs de circuits discrets. Vous apprendrez également les meilleures pratiques pour écrire un bon code Scala dans le monde réel. Enfin, vous apprendrez à tirer parti de la capacité du compilateur à déduire des valeurs à partir de types. Plusieurs parties de ce cours traitent de la question de l'interaction de la programmation fonctionnelle avec l'état mutable. Nous explorerons les conséquences de la combinaison des fonctions et de l'état. Nous examinerons également des alternatives purement fonctionnelles à l'état mutable, en utilisant des structures de données infinies ou la programmation fonctionnelle réactive. Formation recommandée : Vous devez avoir au moins un an d'expérience en programmation. La maîtrise de Java ou de C# est idéale, mais une expérience dans d'autres langages tels que C/C++, Python, Javascript ou Ruby est également suffisante. Vous devez avoir une certaine familiarité avec l'utilisation de la ligne de commande. Ce cours est destiné à être suivi après le cours Functional Programming Principles in Scala : https://www.coursera.org/learn/progfun1.
Conception de programmes fonctionnels en Scala
Ce cours fait partie de Spécialisation Programmation fonctionnelle en Scala
Instructeur : Martin Odersky
61 216 déjà inscrits
Inclus avec
(3,133 avis)
Ce que vous apprendrez
Reconnaître et appliquer les principes de conception des programmes fonctionnels
Concevoir des bibliothèques fonctionnelles et leurs API
Écrire des applications réactives fonctionnelles simples
Comprendre les techniques de raisonnement pour les programmes qui combinent des fonctions et des états
Compétences que vous acquerrez
- Catégorie : Type Classe
- Catégorie : Transparence référentielle
- Catégorie : Paresse
- Catégorie : Programmation réactive
- Catégorie : Programmation fonctionnelle
Détails à connaître
Ajouter à votre profil LinkedIn
3 devoirs
Découvrez comment les employés des entreprises prestigieuses maîtrisent des compétences recherchées
Élaborez votre expertise du sujet
- Apprenez de nouveaux concepts auprès d'experts du secteur
- Acquérez une compréhension de base d'un sujet ou d'un outil
- Développez des compétences professionnelles avec des projets pratiques
- Obtenez un certificat professionnel partageable
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
Il y a 5 modules dans ce cours
Nous commencerons par revoir certains concepts que nous avons appris dans Principes de la programmation fonctionnelle en Scala : les collections, le filtrage et les fonctions. Nous aborderons ensuite les compréhensions for, un moyen puissant en Scala de parcourir une liste, de la traiter et de renvoyer une nouvelle liste. Nous verrons comment effectuer des requêtes avec des for-compréhensions et comment le compilateur Scala "désucre" les for-compréhensions pour les transformer en appels à des fonctions d'ordre supérieur. Enfin, nous discuterons de ce que sont les monades et de la manière de vérifier que les lois des monades sont satisfaites pour un certain nombre d'exemples.
Inclus
8 vidéos8 lectures3 devoirs de programmation
Cette semaine, nous reviendrons sur les problèmes de performance posés par la recherche combinatoire et nous découvrirons un concept important de la programmation fonctionnelle qui permet de résoudre ces problèmes : la paresse. Nous en apprendrons également un peu plus sur les preuves sur les arbres ; en particulier, nous verrons comment étendre l'induction structurelle aux arbres.
Inclus
6 vidéos2 devoirs de programmation
Cette semaine, nous allons apprendre à faire en sorte que le compilateur écrive des programmes à notre place ! Nous verrons comment le compilateur peut convoquer des fragments de programme en fonction de leur type et comment ce mécanisme peut être utilisé pour implémenter une nouvelle forme de polymorphisme (classes de type).
Inclus
7 vidéos5 lectures3 devoirs2 devoirs de programmation
Cette semaine, nous allons nous intéresser à l'état et aux effets secondaires. À l'aide d'un exemple riche, nous apprendrons des modèles de programmation pour gérer l'état dans des programmes plus importants. Nous découvrirons également les boucles for et while en Scala.
Inclus
5 vidéos
Cette semaine, nous allons apprendre un certain nombre de modèles de programmation importants à l'aide d'exemples, en commençant par le modèle de l'observateur, puis en passant à la programmation fonctionnelle réactive.
Inclus
6 vidéos2 devoirs de programmation
Instructeur
Offert par
Recommandé si vous êtes intéressé(e) par Développement de logiciels
Cisco Learning and Certifications
University of California San Diego
Rice University
Pour quelles raisons les étudiants sur Coursera nous choisissent-ils pour leur carrière ?
Avis des étudiants
3 133 avis
- 5 stars
66,32 %
- 4 stars
24,01 %
- 3 stars
7,58 %
- 2 stars
1,62 %
- 1 star
0,44 %
Affichage de 3 sur 3133
Révisé le 2 juin 2017
Great class, though the content seemed less coherent than the first course. Topics tended to bounce around without enough deep dives into the more abstract ideas.
Révisé le 2 sept. 2021
This course is quite difficult to me, especially the last section. I have to re-watch it so many time to fully understand. At the end of the day, it is worth the effort.
Révisé le 18 févr. 2019
There's a lot to chew on here, and it's well-articulated. Some of the examples are a bit opaque and academic - a little more of a practical, intuitive approach would go a long way.
Ouvrez de nouvelles portes avec Coursera Plus
Accès illimité à 10,000+ cours de niveau international, projets pratiques et programmes de certification prêts à l'emploi - tous inclus dans votre abonnement.
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
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
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 vous inscrivez au cours, vous avez accès à tous les cours de la Specializations, et vous obtenez un certificat lorsque vous terminez le travail. Votre certificat électronique sera ajouté à votre page de réalisations - de là, vous pouvez imprimer votre certificat ou l'ajouter à votre profil LinkedIn. Si vous souhaitez uniquement lire et visualiser le contenu du cours, vous pouvez auditer le cours gratuitement.
Si vous vous êtes abonné, vous bénéficiez d'une période d'essai gratuite de 7 jours pendant laquelle vous pouvez annuler votre abonnement sans pénalité. Après cette période, nous ne remboursons pas, mais vous pouvez résilier votre abonnement à tout moment. Consultez notre politique de remboursement complète.