Chevron Left
Back to Distributed Programming in Java

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

4.5
212 ratings
30 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

DH

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

FF

Jan 24, 2018

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

Filter by:

1 - 25 of 29 Reviews for Distributed Programming in Java

By Eric S

Apr 07, 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 Ankit T

Mar 30, 2018

Programming assignment can be made a bit tough.

By Hugo J

May 21, 2019

Great professor !

By Partha B

Mar 11, 2019

thanks

By updatinglb

Feb 28, 2019

concise and clear

By Ganapathi N K

Feb 26, 2019

Good experience

By Sudharaka P

Jan 22, 2019

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

By Light0617

Nov 18, 2018

very great!

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 Travis W

Aug 01, 2018

Frustrating at times but overall good.

By RAVI P

Jul 02, 2018

Good course for over view of all the concepts related to Distributed Programming.

By Samuele M

May 29, 2018

Course does not go too deep in arguments, but gives a quite basic knowledge about distributed data structures and algorithms.

By Kerran F

May 21, 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 thiago a d m

May 05, 2018

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

By Feiyu L

Apr 03, 2018

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

By DaeMyung K

Mar 12, 2018

Thanks

By Keesun B

Mar 10, 2018

Very poor rating system for mini project 4. Why don't you fix the problem?

By Atsuya K

Feb 06, 2018

Covers topics not in the EPFL's distributed computing course. Assignments are trivial.

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 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 Vaibhav j

Sep 27, 2017

Excellent

By Dima B

Sep 25, 2017

I would expect more indepth details about topics

By Saifuddin M

Sep 23, 2017

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

By MIAO K

Sep 17, 2017

Programming assignment is some what easy, I think it my be better to require student to finished the complete code.

By Qiuxiang D

Sep 14, 2017

This is a great course for me.