À propos de ce cours
13,916 consultations récentes

100 % en ligne

Commencez dès maintenant et apprenez aux horaires qui vous conviennent.

Dates limites flexibles

Réinitialisez les dates limites selon votre disponibilité.

Niveau intermédiaire

Approx. 13 heures pour terminer

Recommandé : Four weeks of study, 4-8 hours/week depending on past experience with sequential programming in Java...

Anglais

Sous-titres : Anglais
User
Les étudiants prenant part à ce Course sont
  • Software Engineers
  • Machine Learning Engineers
  • Data Scientists
  • Scientists
  • Data Engineers

Compétences que vous acquerrez

Distributed ComputingActor ModelParallel ComputingReactive Programming
User
Les étudiants prenant part à ce Course sont
  • Software Engineers
  • Machine Learning Engineers
  • Data Scientists
  • Scientists
  • Data Engineers

100 % en ligne

Commencez dès maintenant et apprenez aux horaires qui vous conviennent.

Dates limites flexibles

Réinitialisez les dates limites selon votre disponibilité.

Niveau intermédiaire

Approx. 13 heures pour terminer

Recommandé : Four weeks of study, 4-8 hours/week depending on past experience with sequential programming in Java...

Anglais

Sous-titres : Anglais

Programme du cours : ce que vous apprendrez dans ce cours

Semaine
1
1 heure pour terminer

Welcome to the Course!

1 vidéo (Total 1 min), 5 lectures, 1 quiz
1 vidéo
5 lectures
General Course Info5 min
Course Icon Legend2 min
Discussion Forum Guidelines2 min
Pre-Course Survey10 min
Mini Project 0: Setup20 min
4 heures pour terminer

DISTRIBUTED MAP REDUCE

6 vidéos (Total 49 min), 6 lectures, 2 quiz
6 vidéos
1.2 Hadoop Framework8 min
1.3 Spark Framework11 min
1.4 TF-IDF Example7 min
1.5 Page Rank Example8 min
Demonstration: Page Rank Algorithm in Spark4 min
6 lectures
1.1 Lecture Summary5 min
1.2 Lecture Summary5 min
1.3 Lecture Summary5 min
1.4 Lecture Summary5 min
1.5 Lecture Summary5 min
Mini Project 1: Page Rank with Spark15 min
1 exercice pour s'entraîner
Module 1 Quiz30 min
Semaine
2
4 heures pour terminer

CLIENT-SERVER PROGRAMMING

6 vidéos (Total 43 min), 6 lectures, 2 quiz
6 vidéos
2.2 Serialization/Deserialization9 min
2.3 Remote Method Invocation6 min
2.4 Multicast Sockets7 min
2.5 Publish-Subscribe Model6 min
Demonstration: File Server using Sockets4 min
6 lectures
2.1 Lecture Summary5 min
2.2 Lecture Summary5 min
2.3 Lecture Summary5 min
2.4 Lecture Summary5 min
2.5 Lecture Summary5 min
Mini Project 2: File Server15 min
1 exercice pour s'entraîner
Module 2 Quiz30 min
15 minutes pour terminer

Talking to Two Sigma: Using it in the Field

2 vidéos (Total 13 min), 1 lecture
2 vidéos
Industry Professional on Distribution - Dr. Eric Allen, Senior Vice President6 min
1 lecture
About these Talks2 min
Semaine
3
4 heures pour terminer

MESSAGE PASSING

6 vidéos (Total 49 min), 6 lectures, 2 quiz
6 vidéos
3.2 Point-to-Point Communication9 min
3.3 Message Ordering and Deadlock8 min
3.4 Non-Blocking Communications7 min
3.5 Collective Communication7 min
Demonstration: Distributed Matrix Multiply using Message Passing9 min
6 lectures
3.1 Lecture Summary7 min
3.2 Lecture Summary5 min
3.3 Lecture Summary5 min
3.4 Lecture Summary5 min
3.5 Lecture Summary5 min
Mini Project 3: Matrix Multiply in MPI15 min
1 exercice pour s'entraîner
Module 3 Quiz30 min
Semaine
4
4 heures pour terminer

COMBINING DISTRIBUTION AND MULTITHREADING

6 vidéos (Total 44 min), 7 lectures, 2 quiz
6 vidéos
4.2 Multithreaded Servers6 min
4.3 MPI and Threading7 min
4.4 Distributed Actors8 min
4.5 Distributed Reactive Programming7 min
Demonstration: Parallel File Server using Multithreading and Sockets3 min
7 lectures
4.1 Lecture Summary5 min
4.2 Lecture Summary5 min
4.3 Lecture Summary10 min
4.4 Lecture Summary5 min
4.5 Lecture Summary5 min
Mini Project 4: Multi-Threaded File Server15 min
Exit Survey10 min
1 exercice pour s'entraîner
Module 4 Quiz30 min
20 minutes pour terminer

Continue Your Journey with the Specialization "Parallel, Concurrent, and Distributed Programming in Java"

2 vidéos (Total 10 min), 1 lecture
2 vidéos
Industry Professional on Concurrency - Dr. Shams Imam, Software Engineer, Two Sigma3 min
1 lecture
Our Other Course Offerings10 min
4.5
35 avisChevron Right

25%

a commencé une nouvelle carrière après avoir terminé ces cours

25%

a bénéficié d'un avantage concret dans sa carrière grâce à ce cours

29%

a obtenu une augmentation de salaire ou une promotion

Principaux examens pour Distributed Programming in Java

par DHSep 17th 2017

Great course. The first programming assignment was challenging and well worth the time invested, I would recommend it for anyone that wants to learn parallel programming in Java.

par FFJan 24th 2018

Excellent course! Vivek is an excellent instructor as well. I appreciate having taken the opportunity to learn from him.

Enseignant

Avatar

Vivek Sarkar

Professor
Department of Computer Science

À propos de Université de Rice

Rice University is consistently ranked among the top 20 universities in the U.S. and the top 100 in the world. Rice has highly respected schools of Architecture, Business, Continuing Studies, Engineering, Humanities, Music, Natural Sciences and Social Sciences and is home to the Baker Institute for Public Policy....

À propos du Spécialisation Parallel, Concurrent, and Distributed Programming in Java

Parallel, concurrent, and distributed programming underlies software in multiple domains, ranging from biomedical research to financial services. This specialization is intended for anyone with a basic knowledge of sequential programming in Java, who is motivated to learn how to write parallel, concurrent and distributed programs. Through a collection of three courses (which may be taken in any order or separately), you will learn foundational topics in Parallelism, Concurrency, and Distribution. These courses will prepare you for multithreaded and distributed programming for a wide range of computer platforms, from mobile devices to cloud computing servers. To see an overview video for this Specialization, click here! For an interview with two early-career software engineers on the relevance of parallel computing to their jobs, click here. Acknowledgments The instructor, Prof. Vivek Sarkar, would like to thank Dr. Max Grossman for his contributions to the mini-projects and other course material, Dr. Zoran Budimlic for his contributions to the quizzes, Dr. Max Grossman and Dr. Shams Imam for their contributions to the pedagogic PCDP library used in some of the mini-projects, and all members of the Rice Online team who contributed to the development of the course content (including Martin Calvi, Annette Howe, Seth Tyger, and Chong Zhou)....
Parallel, Concurrent, and Distributed Programming in Java

Foire Aux Questions

  • Une fois que vous êtes inscrit(e) pour un Certificat, vous pouvez accéder à toutes les vidéos de cours, et à tous les quiz et exercices de programmation (le cas échéant). Vous pouvez soumettre des devoirs à examiner par vos pairs et en examiner vous-même uniquement après le début de votre session. Si vous préférez explorer le cours sans l'acheter, vous ne serez peut-être pas en mesure d'accéder à certains devoirs.

  • Lorsque vous vous inscrivez au cours, vous bénéficiez d'un accès à tous les cours de la Spécialisation, et vous obtenez un Certificat lorsque vous avez réussi. Votre Certificat électronique est alors ajouté à votre page Accomplissements. À partir de cette page, vous pouvez imprimer votre Certificat ou l'ajouter à votre profil LinkedIn. Si vous souhaitez seulement lire et visualiser le contenu du cours, vous pouvez accéder gratuitement au cours en tant qu'auditeur libre.

  • No. The lecture videos, demonstrations and quizzes will be sufficient to enable you to complete this course. Students who enroll in the course and are interesting in receiving a certificate will also have access to a supplemental coursebook with additional technical details.

  • Multicore Programming in Java: Parallelism and Multicore Programming in Java: Concurrency cover complementary aspects of multicore programming, and can be taken in any order. The Parallelism course covers the fundamentals of using parallelism to make applications run faster by using multiple processors at the same time. The Concurrency course covers the fundamentals of how parallel tasks and threads correctly mediate concurrent use of shared resources such as shared objects, network resources, and file systems.

D'autres questions ? Visitez le Centre d'Aide pour les Etudiants.