Chevron Left
Back to Distributed Programming in Java

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

478 ratings

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:

1 - 25 of 76 Reviews for Distributed Programming in Java

By Ernest S

Oct 29, 2017

I would consider it as a overview of possible approaches, not a course. Assigments could be frustating because outcome is sometimes non-deterministic (I wasted few hours of my time because of this, it turned out that my solution was fine). Sometimes given examples are not following Java documentation in details. They could not work in corner cases. It should not be the case in the course made by professionals.

Compared to the other courses I took authors of this one did not put much effort in preparing good materials and exercises. Course can by challenging by means of standing the frustration the assigments could give you. And in my opinion not because it is hard to pass them and they are demanding. It is because they are not properly prepared.

I know that this topic can be hard. This specialization touches many important topics which are essential to making working systems.

I have mixed feeling about specializations. It mentions most of the important topics in non-sequential computer computing. But it does not give deep insight in many of them.

By Endless E

Jul 31, 2018

Frustrating at times but overall good.

By Eric S

Apr 7, 2019

Really great videos and instruction. The class covers a broad swath of topics, which is great but fails to get really in depth in any one topic, as a learner you will need to dive deeper into topics that grab your interest. The projects are a little easy but are well organized and self contained. Considering the difficulty in creating projects for distributed computing environments I think the instructors did a good job.

By Nickolay K

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

By Ankit T

Mar 30, 2018

Programming assignment can be made a bit tough.

By Raúl D L C

Sep 6, 2020

Thanks to the courses of the specialization, I could understand in a correct way concepts like nodes, distributed programming, locks, correct use of threads and that always will be in certain form limited by the amount of existing cores in the nodes. Now I can continue on my more confident path and see cloud computing topics thanks to the excellent theoretical and practical base given in the 3 courses.

A thousand thanks to Professor Vivek Sarkar and the entire team at Coursera and Rice University


Sep 6, 2017

All the good stuff application to clusters and cloud computing:

MapReduce, Hadoop, Spark, Sockets, Remote method invocation, Serializing/Deserializing, Point-to-point communication, Socket multicast/broadcast, SPMD model with MPI, Thread vs Process, Distributed Actor, Distributed reactive programming.

Lessons are short and easy to understand and the mini projects are complex enough to get a better grasp of the theory.

By Kerran F

May 20, 2018

Great surface level coverage of basic theories and Java frameworks for Distributed Programming. Projects are very simple and quizzes can feel a bit too specific to the lectures, but those two things just make it easier than it is in the real world. I took a similar class back in college but this was a nice refresher on thinking about first principles and modern new libraries.

By Domício

Jan 24, 2021

Great explanations. Great foundations. I think the most important thing in this course is how the teacher always focuses on what is going on behind the scene so you can apply the same concepts again and again in an technology agnostic manner.

By fxrcode

Apr 16, 2021

It's great to see a solid course about Parallel, Concurrency, and Distributed Programming from a Professor with real practical knowledge into it. This should solid my knowledge and prepare for day-to-day work, and interview. Thanks a lot.

By Bhanu P P

Apr 16, 2020

It was a pleasure taking Vivek sir's class. It will really be helpful for my ongoing research projects and definitely in the future for upcoming endeavors. Thank you to Rice University and Coursera for the wonderful learning opportunity.

By Гайдай А

Oct 8, 2020

This course, like all specializations, is quite useful, I learned a lot about distributed and parallel computing, for those who are not familiar with parallel computing, it will be very useful.

By A M

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!

By Brian M

Oct 31, 2020

The course was awesome. I learnt a lot about distribution programming and it will better my performance personally and in the job industry. Thank you.

By frierys

Jan 24, 2018

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

By Elias R

Jul 31, 2019

I really liked the course. Great videos and lecture summaries! Maybe the assignments could be more sophisticated.

By Amruthesh M P

Apr 24, 2020

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

By 李Li明穎Ming-Ying

Jan 1, 2021

The hints and tutorial for mini projects in this section can be reduced a little bit.

By Rodrigo E

Jul 22, 2021

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

By Белышева Е В

Jul 6, 2020

the course is great but I really need more practice to remember new material

By Rajyavardhan S

Jun 29, 2019

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

By Feiyu L

Apr 3, 2018

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

By Ajedrez y T

Apr 11, 2020

Excelente, muchas gracias a todos lo que hicieron posible este curso.

By Sudharaka P

Jan 21, 2019

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

By Sonal A

Apr 28, 2020

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