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: Apache Kafka
Status: Apache Hadoop
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
1.0
Reviewed Oct 29, 2017
Endless
4.0
Reviewed Jul 31, 2018
Eric
3.0
Reviewed Apr 7, 2019
Brian
5.0
Reviewed Oct 31, 2020
Scott
5.0
Reviewed Jan 24, 2018
Nickolay
4.0
Reviewed Sep 5, 2017
Ankit
3.0
Reviewed Mar 30, 2018
Raúl
5.0
Reviewed Sep 6, 2020
JB
5.0
Reviewed Sep 6, 2017
Kerran
5.0
Reviewed May 20, 2018
Domício
5.0
Reviewed Jan 24, 2021
fxrcode
5.0
Reviewed Apr 16, 2021
Bhanu
5.0
Reviewed Apr 16, 2020
Гайдай
5.0
Reviewed Oct 8, 2020
A
5.0
Reviewed May 30, 2020
Elias
5.0
Reviewed Jul 31, 2019
Amruthesh
5.0
Reviewed Apr 24, 2020
李Li明穎Ming-Ying
5.0
Reviewed Jan 1, 2021
Rodrigo
5.0
Reviewed Jul 22, 2021
Белышева
5.0
Reviewed Jul 6, 2020