Back to Distributed Programming in Java
Rice University

Distributed Programming in Java

This course teaches learners (industry professionals and students) the fundamental concepts of Distributed Programming in the context of Java 8. Distributed programming enables developers to use multiple nodes in a data center to increase throughput and/or reduce latency of selected applications. By the end of this course, you will learn how to use popular distributed programming frameworks for Java programs, including Hadoop, Spark, Sockets, Remote Method Invocation (RMI), Multicast Sockets, Kafka, Message Passing Interface (MPI), as well as different approaches to combine distribution with multithreading. Why take this course? • All data center servers are organized as collections of distributed servers, and it is important for you to also learn how to use multiple servers for increased bandwidth and reduced latency. • In addition to learning specific frameworks for distributed programming, this course will teach you how to integrate multicore and distributed parallelism in a unified approach. • Each of the four modules in the course includes an assigned mini-project that will provide you with the necessary hands-on experience to use the concepts learned in the course on your own, after the course ends. • During the course, you will have online access to the instructor and the mentors to get individualized answers to your questions posted on forums. The desired learning outcomes of this course are as follows: • Distributed map-reduce programming in Java using the Hadoop and Spark frameworks • Client-server programming using Java's Socket and Remote Method Invocation (RMI) interfaces • Message-passing programming in Java using the Message Passing Interface (MPI) • Approaches to combine distribution with multithreading, including processes and threads, distributed actors, and reactive programming Mastery of these concepts will enable you to immediately apply them in the context of distributed Java programs, and will also provide the foundation for mastering other distributed programming frameworks that you may encounter in the future (e.g., in Scala or C++).

Status: Distributed Computing
Status: Java
IntermediateCourse18 hours

Featured reviews

SA

Reviewed Apr 27, 2020

A very good course, I learnt a lot from it, thank you Coursera.

AG

Reviewed Nov 24, 2019

Amazing course to learn about distributed Progrmaming

NK

Reviewed Sep 4, 2017

It forced me to recall OpenMP and MPI. Thought it's already dead in favor to IMDG, spark, upc and so on.Practical tasks - miniprojects - was too easy to implement. Need more complex tasks.

SN

Reviewed May 1, 2020

The concepts taught were clear and precise which helped me with an ongoing project. It would have been really better if the mini-projects were a bit more complicated.

SF

Reviewed Jan 23, 2018

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

RR

Reviewed Jun 28, 2019

Amazing Course, was able to learn new things and had the best experience

SM

Reviewed Sep 22, 2017

The course was well laid out and introduced me to some new concepts.

FL

Reviewed Apr 2, 2018

Very clear overview. Helpful for my understanding of distributed system.

AM

Reviewed May 30, 2020

Very well structured and presented course! Very useful material with good relevant examples! Thank you, Prof. Sarkar for this Distributed Programming in Java course!

TM

Reviewed May 4, 2018

First two courses are better. This one is quick and a little vague

MD

Reviewed May 2, 2022

L​earnt so much, I've going to do such good things at work. :)

AP

Reviewed Apr 23, 2020

Great experience and all the lectures are really interesting and the concepts are precise and perfect.

All reviews

Showing: 20 of 79

Ernest
Reviewed Oct 29, 2017
Endless
Reviewed Jul 31, 2018
Eric
Reviewed Apr 7, 2019
Brian
Reviewed Oct 31, 2020
Scott
Reviewed Jan 24, 2018
Nickolay
Reviewed Sep 5, 2017
Ankit
Reviewed Mar 30, 2018
Raúl
Reviewed Sep 6, 2020
JB
Reviewed Sep 6, 2017
Kerran
Reviewed May 20, 2018
Domício
Reviewed Jan 24, 2021
fxrcode
Reviewed Apr 16, 2021
Bhanu
Reviewed Apr 16, 2020
Гайдай
Reviewed Oct 8, 2020
A
Reviewed May 30, 2020
Elias
Reviewed Jul 31, 2019
Amruthesh
Reviewed Apr 24, 2020
李Li明穎Ming-Ying
Reviewed Jan 1, 2021
Rodrigo
Reviewed Jul 22, 2021
Белышева
Reviewed Jul 6, 2020