About this Course

19,016 recent views

Learner Career Outcomes

25%

started a new career after completing these courses

22%

got a tangible career benefit from this course

25%

got a pay increase or promotion
Shareable Certificate
Earn a Certificate upon completion
100% online
Start instantly and learn at your own schedule.
Flexible deadlines
Reset deadlines in accordance to your schedule.
Intermediate Level
Approx. 18 hours to complete
English
Subtitles: English

Skills you will gain

Distributed ComputingActor ModelParallel ComputingReactive Programming

Learner Career Outcomes

25%

started a new career after completing these courses

22%

got a tangible career benefit from this course

25%

got a pay increase or promotion
Shareable Certificate
Earn a Certificate upon completion
100% online
Start instantly and learn at your own schedule.
Flexible deadlines
Reset deadlines in accordance to your schedule.
Intermediate Level
Approx. 18 hours to complete
English
Subtitles: English

Instructor

Offered by

Placeholder

Rice University

Syllabus - What you will learn from this course

Content RatingThumbs Up95%(1,059 ratings)Info
Week
1

Week 1

1 hour to complete

Welcome to the Course!

1 hour to complete
1 video (Total 1 min), 5 readings, 1 quiz
1 video
5 readings
General Course Info5m
Course Icon Legend2m
Discussion Forum Guidelines2m
Pre-Course Survey10m
Mini Project 0: Setup20m
4 hours to complete

DISTRIBUTED MAP REDUCE

4 hours to complete
6 videos (Total 49 min), 6 readings, 2 quizzes
6 videos
1.2 Hadoop Framework8m
1.3 Spark Framework11m
1.4 TF-IDF Example7m
1.5 Page Rank Example8m
Demonstration: Page Rank Algorithm in Spark4m
6 readings
1.1 Lecture Summary5m
1.2 Lecture Summary5m
1.3 Lecture Summary5m
1.4 Lecture Summary5m
1.5 Lecture Summary5m
Mini Project 1: Page Rank with Spark15m
1 practice exercise
Module 1 Quiz30m
Week
2

Week 2

4 hours to complete

CLIENT-SERVER PROGRAMMING

4 hours to complete
6 videos (Total 43 min), 6 readings, 2 quizzes
6 videos
2.2 Serialization/Deserialization9m
2.3 Remote Method Invocation6m
2.4 Multicast Sockets7m
2.5 Publish-Subscribe Model6m
Demonstration: File Server using Sockets4m
6 readings
2.1 Lecture Summary5m
2.2 Lecture Summary5m
2.3 Lecture Summary5m
2.4 Lecture Summary5m
2.5 Lecture Summary5m
Mini Project 2: File Server15m
1 practice exercise
Module 2 Quiz30m
15 minutes to complete

Talking to Two Sigma: Using it in the Field

15 minutes to complete
2 videos (Total 13 min), 1 reading
2 videos
Industry Professional on Distribution - Dr. Eric Allen, Senior Vice President6m
1 reading
About these Talks2m
Week
3

Week 3

4 hours to complete

MESSAGE PASSING

4 hours to complete
6 videos (Total 49 min), 6 readings, 2 quizzes
6 videos
3.2 Point-to-Point Communication9m
3.3 Message Ordering and Deadlock8m
3.4 Non-Blocking Communications7m
3.5 Collective Communication7m
Demonstration: Distributed Matrix Multiply using Message Passing9m
6 readings
3.1 Lecture Summary7m
3.2 Lecture Summary5m
3.3 Lecture Summary5m
3.4 Lecture Summary5m
3.5 Lecture Summary5m
Mini Project 3: Matrix Multiply in MPI15m
1 practice exercise
Module 3 Quiz30m
Week
4

Week 4

4 hours to complete

COMBINING DISTRIBUTION AND MULTITHREADING

4 hours to complete
6 videos (Total 44 min), 7 readings, 2 quizzes
6 videos
4.2 Multithreaded Servers6m
4.3 MPI and Threading7m
4.4 Distributed Actors8m
4.5 Distributed Reactive Programming7m
Demonstration: Parallel File Server using Multithreading and Sockets3m
7 readings
4.1 Lecture Summary5m
4.2 Lecture Summary5m
4.3 Lecture Summary10m
4.4 Lecture Summary5m
4.5 Lecture Summary5m
Mini Project 4: Multi-Threaded File Server15m
Exit Survey10m
1 practice exercise
Module 4 Quiz30m
20 minutes to complete

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

20 minutes to complete
2 videos (Total 10 min), 1 reading
2 videos
Industry Professional on Concurrency - Dr. Shams Imam, Software Engineer, Two Sigma3m
1 reading
Our Other Course Offerings10m

Reviews

TOP REVIEWS FROM DISTRIBUTED PROGRAMMING IN JAVA

View all reviews

About the Parallel, Concurrent, and Distributed Programming in Java Specialization

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

Frequently Asked Questions

More questions? Visit the Learner Help Center.