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: Java
Status: Apache Kafka
IntermediateCourse18 hours

Featured reviews

NK

4.0Reviewed 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.

SA

5.0Reviewed Apr 27, 2020

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

PB

5.0Reviewed Nov 27, 2020

Brilliant course. Prof Sarkar is wonderful as always.

RR

5.0Reviewed Jun 28, 2019

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

RE

5.0Reviewed Jul 21, 2021

This course is a great beginning to the distributed programming world in java!

TM

4.0Reviewed May 4, 2018

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

FL

5.0Reviewed Apr 2, 2018

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

AP

5.0Reviewed Apr 23, 2020

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

SP

5.0Reviewed Jan 21, 2019

Nice course. Gives a good overview of Distributed Programming!!!

SN

4.0Reviewed 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.

MP

5.0Reviewed Oct 4, 2019

It was awsome, I could learn a lot, thks Professor

AM

5.0Reviewed 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!

All reviews

Showing: 20 of 79

Ernest Staszuk
1.0
Reviewed Oct 29, 2017
Endless Entropy
4.0
Reviewed Jul 31, 2018
Eric Schraeder
3.0
Reviewed Apr 7, 2019
Brian Makumi
5.0
Reviewed Oct 31, 2020
Scott Friery
5.0
Reviewed Jan 24, 2018
Nickolay Kharchevin
4.0
Reviewed Sep 5, 2017
Ankit Tiwari
3.0
Reviewed Mar 30, 2018
Raúl Demner López Crisanto
5.0
Reviewed Sep 6, 2020
JB Bouhier
5.0
Reviewed Sep 6, 2017
Kerran Flanagan
5.0
Reviewed May 20, 2018
Domício
5.0
Reviewed Jan 24, 2021
fxrcode
5.0
Reviewed Apr 16, 2021
Bhanu Prakash Poluparthi
5.0
Reviewed Apr 16, 2020
Гайдай Анатолій
5.0
Reviewed Oct 8, 2020
A M
5.0
Reviewed May 30, 2020
Elias Rabl
5.0
Reviewed Jul 31, 2019
Amruthesh M P
5.0
Reviewed Apr 24, 2020
李Li明穎Ming-Ying
5.0
Reviewed Jan 1, 2021
Rodrigo Emygdio
5.0
Reviewed Jul 22, 2021
Белышева Екатерина Владимировна
5.0
Reviewed Jul 6, 2020