Chevron Left
Back to Distributed Programming in Java

Learner Reviews & Feedback for Distributed Programming in Java by Rice University

412 ratings
67 reviews

About the Course

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++)....

Top reviews

Sep 16, 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.

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!

Filter by:

26 - 50 of 66 Reviews for Distributed Programming in Java

By Marcos P

Oct 5, 2019

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

By Ian

Oct 4, 2020

Avery good course to take on coursera

By Stephen A T

Nov 20, 2020

learning-friendly and oriented

By Qiuxiang D

Sep 13, 2017

This is a great course for me.

By Ana E R G

May 9, 2020

El instructor muy profesional

By John O O

Aug 14, 2019

Awesome material! :-D

By gopika

Apr 10, 2020

Had a great learning

By Hugo J

May 21, 2019

Great professor !

By updatinglb

Feb 28, 2019

concise and clear

By Ganapathi N K

Feb 26, 2019

Good experience

By Shubham P 1

Apr 29, 2020

hard but good

By Apekshit K

Jul 31, 2020

great course

By Serdar S

May 1, 2020

Thanks a lot

By Light0617

Nov 18, 2018

very great!

By Vaibhav j

Sep 27, 2017


By Rubimalya

Apr 10, 2020

good !

By Partha B

Mar 11, 2019


By DaeMyung K

Mar 12, 2018


By Donghao F

Sep 13, 2017



Apr 2, 2020


By Andrew G

Mar 1, 2020

I will start with the teacher. The teacher is clearly very knowledgeable about the subject and is great at articulating things in a way that is understandable. I do think that some of the lectures about different paradigms focused too much on a specific application, as opposed to more general concepts about the paradigm, but overall this was not a big detractor at all.

The min projects were a bit too mini for my taste. I didn't feel that I learned any one thing as much as hoped. For instance, Spark seems really cool, but I only ended up writing a single function for the project. Perhaps this my fault for having the incorrect expectations.

Overall, a good quick intro to the various aspects to distributed programming in Java, with a relatively small time commitment.

By Benjamin G J

Aug 13, 2018

Solidly worth the money!

The lectures and references are perfect, and the perspective is super helpful. The exercises still need work, but they still provide a good foundation for learning this material.

For the maintainers, a good model for compound assignments of graduated difficulty is the sbt-moderated grading for the scala sequence. I think you did a very good job within the (maybe self-imposed?) constraint of single file upload, but this is the only major area allowing any improvement in this excellent course!

By Daniel B

May 2, 2020

Useful course overall, but a bit too short and too basic in covering a number of concepts. The MPI homework was needlessly painful due to inability to run under Windows other than by repeatedly submitting to the autograder as well as annoying undocumented "feature" of MPI_Isend in combination with MPI_Waitall that cost me 2 days.

By Satchit N

May 2, 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.

By prabhakar k

May 28, 2020

thanks to coursera platform,to learn new way to solving distributed problem in java