Rice University

Programmation parallèle en Java

Ce cours fait partie de Spécialisation Programmation parallèle, concurrente et distribuée en Java

Enseigné en Anglais

Certains éléments de contenu peuvent ne pas être traduits

Vivek Sarkar

Instructeur : Vivek Sarkar

46 862 déjà inscrits

Inclus avec Coursera Plus

Cours

Familiarisez-vous avec un sujet et apprenez les fondamentaux

4.6

(1,201 avis)

|

94%

niveau Intermédiaire
Certaines connaissances prérequises
19 heures (approximativement)
Planning flexible
Apprenez à votre propre rythme

Compétences que vous acquerrez

  • Catégorie : Flux de données
  • Catégorie : Calcul parallèle
  • Catégorie : Concurrence Java
  • Catégorie : Parallélisme des données

Détails à connaître

Certificat partageable

Ajouter à votre profil LinkedIn

Évaluations

4 quizzes

Cours

Familiarisez-vous avec un sujet et apprenez les fondamentaux

4.6

(1,201 avis)

|

94%

niveau Intermédiaire
Certaines connaissances prérequises
19 heures (approximativement)
Planning flexible
Apprenez à votre propre rythme

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

Placeholder

Élaborez votre expertise du sujet

Ce cours fait partie de la Spécialisation Programmation parallèle, concurrente et distribuée en Java
Lorsque vous vous inscrivez à ce cours, vous êtes également inscrit(e) à cette Spécialisation.
  • 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
Placeholder
Placeholder

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

Placeholder

Il y a 7 modules dans ce cours

Bienvenue à la programmation parallèle en Java ! Ce cours est conçu comme une série de trois parties et couvre un thème ou un ensemble de connaissances à travers des conférences vidéo, des démonstrations et des projets de codage.

Inclus

1 vidéo5 lectures1 devoir de programmation1 sujet de discussion

Dans ce module, nous apprendrons les principes fondamentaux du parallélisme des tâches. Les tâches sont l'unité de base de la programmation parallèle. Un nombre croissant de langages de programmation (y compris Java et C++) abandonnent les anciennes approches basées sur les threads au profit d'approches plus modernes basées sur les tâches pour la programmation parallèle. Nous apprendrons ce qu'est la création et la fin d'une tâche, ainsi que le modèle théorique du "graphe de calcul" qui permet de comprendre les diverses propriétés des programmes parallèles à base de tâches. Ces propriétés comprennent le travail, la portée, le parallélisme idéal, la vitesse parallèle et la loi d'Amdahl. Nous apprendrons également les API Java populaires pour le parallélisme des tâches, notamment le cadre Fork/Join.

Inclus

7 vidéos6 lectures1 quiz1 devoir de programmation

Bienvenue au module 2 ! Dans ce module, nous allons découvrir les approches du parallélisme qui ont été inspirées par la programmation fonctionnelle. Les défenseurs de la programmation fonctionnelle parallèle soutiennent depuis des décennies que le parallélisme fonctionnel peut éliminer de nombreux bogues difficiles à détecter qui peuvent survenir avec le parallélisme impératif. Nous en apprendrons plus sur les futures, la mémoïsation et les streams, ainsi que sur les courses de données, une classe notoire de bogues qui peuvent être évités avec le parallélisme fonctionnel. Nous apprendrons également les API Java pour le parallélisme fonctionnel, y compris le cadre Fork/Join et les API Stream.

Inclus

7 vidéos6 lectures1 quiz1 devoir de programmation

Rejoignez le professeur Vivek Sarkar qui s'entretient avec Jim Ward, directeur général de Two Sigma, et Margaret Kelley et Jake Kornblau, ingénieurs en logiciel, dans leurs bureaux du centre-ville de Houston, au Texas, sur l'importance de la programmation parallèle.

Inclus

2 vidéos1 lecture

Bienvenue au module 3, et félicitations pour avoir atteint le milieu de ce cours ! Il est bien connu que de nombreuses applications passent la majorité de leur temps d'exécution dans des boucles, il y a donc une forte motivation pour apprendre comment les boucles peuvent être accélérées par l'utilisation du parallélisme, qui est le point central de ce module. Nous commencerons par apprendre comment les boucles parallèles comptées peuvent être exprimées de manière pratique à l'aide des API forall et stream en Java, et comment ces API peuvent être utilisées pour paralléliser un programme simple de multiplication de matrices. Nous découvrirons également le concept de barrière pour les boucles parallèles et illustrerons son utilisation avec un exemple de programme simple de calcul de moyenne itérative. Enfin, nous apprendrons l'importance de grouper/chunker les itérations parallèles pour réduire l'overhead.

Inclus

7 vidéos6 lectures1 quiz1 devoir de programmation

Bienvenue dans le dernier module du cours ! Dans ce module, nous allons conclure notre introduction à la programmation parallèle en apprenant comment les principes de flux de données peuvent être utilisés pour augmenter le niveau de parallélisme dans un programme. Nous apprendrons comment l'API Phaser de Java peut être utilisée pour implémenter des barrières "floues", ainsi que des synchronisations "point à point" en tant qu'optimisation des barrières régulières en revisitant l'exemple de la moyenne itérative. Enfin, nous apprendrons également comment le parallélisme de pipeline et les modèles de flux de données peuvent être exprimés à l'aide des API Java.

Inclus

7 vidéos7 lectures1 quiz1 devoir de programmation

Les deux prochaines vidéos montreront l'importance de l'apprentissage de la programmation simultanée et de la programmation distribuée en Java. Le professeur Vivek Sarkar s'entretiendra avec des professionnels de l'industrie à Two Sigma sur la façon dont les thèmes de nos deux autres cours sont utilisés sur le terrain.

Inclus

2 vidéos1 lecture

Instructeur

Évaluations de l’enseignant
4.8 (120 évaluations)
Vivek Sarkar
Rice University
3 Cours61 877 apprenants

Offert par

Rice University

Recommandé si vous êtes intéressé(e) par Développement de logiciels

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

Affichage de 3 sur 1201

4.6

1 201 avis

  • 5 stars

    69,16 %

  • 4 stars

    22,85 %

  • 3 stars

    6,40 %

  • 2 stars

    1,16 %

  • 1 star

    0,41 %

RA
5

Révisé le 26 déc. 2017

JC
4

Révisé le 25 juin 2020

SD
4

Révisé le 25 mai 2020

Placeholder

Ouvrez de nouvelles portes avec Coursera Plus

Accès illimité à plus de 7 000 cours de renommée internationale, à des projets pratiques et à des programmes de certificats reconnus sur le marché du travail, 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