Chevron Left
Back to Parallel Programming in Java

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

4.6
stars
1,191 ratings

About the Course

This course teaches learners (industry professionals and students) the fundamental concepts of parallel programming in the context of Java 8. Parallel programming enables developers to use multicore computers to make their applications run faster by using multiple processors at the same time. By the end of this course, you will learn how to use popular parallel Java frameworks (such as ForkJoin, Stream, and Phaser) to write parallel programs for a wide range of multicore platforms including servers, desktops, or mobile devices, while also learning about their theoretical foundations including computation graphs, ideal parallelism, parallel speedup, Amdahl's Law, data races, and determinism. Why take this course? • All computers are multicore computers, so it is important for you to learn how to extend your knowledge of sequential Java programming to multicore parallelism. • Java 7 and Java 8 have introduced new frameworks for parallelism (ForkJoin, Stream) that have significantly changed the paradigms for parallel programming since the early days of Java. • 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: • Theory of parallelism: computation graphs, work, span, ideal parallelism, parallel speedup, Amdahl's Law, data races, and determinism • Task parallelism using Java’s ForkJoin framework • Functional parallelism using Java’s Future and Stream frameworks • Loop-level parallelism with extensions for barriers and iteration grouping (chunking) • Dataflow parallelism using the Phaser framework and data-driven tasks Mastery of these concepts will enable you to immediately apply them in the context of multicore Java programs, and will also provide the foundation for mastering other parallel programming systems that you may encounter in the future (e.g., C++11, OpenMP, .Net Task Parallel Library)....

Top reviews

LG

Dec 12, 2017

This is a great course in parallel programming. The videos were very clear, summaries reinforced the video material and the programming projects and quizzes were challenging but not overwhelming.

SV

Aug 27, 2017

Great course. Introduces Parallel Programming in Java in a gentle way.

Kudos to Professor Vivek Sarkar for simplifying complex concepts and presenting them in an elegant manner.

Filter by:

226 - 250 of 251 Reviews for Parallel Programming in Java

By Luiz F J

•

May 22, 2021

I liked too much

By Jairo A O C

•

Sep 24, 2020

Muy buen curso

By TAHA K

•

Aug 18, 2020

Good course !

By Moturu N

•

Dec 9, 2019

Nice course

By Divam K

•

Oct 12, 2019

Ok

By Marcos N A

•

Jun 13, 2020

Too much abstract pseudocode for a Java course. In the third test, I had implemented my own solution because no documentation given for that "pcdp framework", also, my implementation run faster, so I have some doubts about that "framework".

The grader is not accurate, I spent some hours trying to find the way to improve the code in the last miniproject because the one I uploaded failed the 4 cores test, but I uploaded the same again and passed the test...

I suggest to improve examples about Phasers, maybe it would be better to introduce low complexity problems in the examples and a step by step explanation on how it works and... where did the threads came from? They never explain threads in this course.

Definitively, this course can't be called a "specialization" but it is a good course for starters.

By Samuele M

•

Apr 12, 2018

Course is interesting, but lacks in contents: just few patterns are explained, and few concepts about parallelism, and there are very little details about further algorithms. Assignments, projects in particular, are quite useless or incredibly easy, or need usage or knowledge of libraries not explained/used in course, and included in "optional readings". Lessons are really clear (bravo! to the Professor), but quite short, since whole course doesn't reach 2 hours of lesson. I definitively think that course can be improved with more contents.

By Helge S

•

Feb 5, 2020

Interesting, but the presentations, support materials and programming exercises have some issues.

I'm not fond of the usage of pseudo code, when this is a Java course. I want the example to use existing Java libraries, preferably from the standard Java JDK.

For the exercises, in addition to unit tests that test the performance of the code, it would be valuable to have tests that run quickly, and test that the code computes correctly. For the Week 4, the only provided test took some 9 minutes to run. A unit test should take a second at most.

By Dhiresh A J

•

Dec 30, 2017

Lectures were adequate to understand the basic concepts/syntax and where and how to use them, but did not go deep into the underlying working.

The mini projects weren't that helpful since the assignments were the same examples as shown in the lecture, and the TODOs were generally just a couple of lines, leaving us with with little to do.

By the end of the course, I got to know the different Java util classes to use to for parallelism.

By Ramin I

•

Nov 25, 2020

During the course, in order to understand the material in a satisfactory way, I often had to go and search for other materials. The material is presented in a very superficial way. I consider this a weakness. On the other hand, in terms of breadth, it covers a lot of useful topics, which broadened my perspective about what is out there in the parallel programming world.

By Daniel B

•

Apr 16, 2020

Helpful course but could be much improved by a bit longer lectures and programming exercises covering more Java material, avoiding mixing in so much on proprietary library concepts and focusing on standard Java parallel programming concepts instead as well as making source code demonstrations in a bit larger font to be able to view on a phone

By Vincent M

•

Mar 10, 2018

Subject is very interesting. However course is sometimes unclear, and assignments sometimes are related with the specific library developed by the professor, not with the generic Java implementations. However I'm happy to have completed this course, i've learned a lot.

By Gary S

•

May 30, 2018

Although much of the content was informative and well taught, half of the programming assignments were either rudimentary or completely unnecessary since the answer was given in the provided file. On the whole, this course was just too short and too easy.

By Kaj S

•

Sep 6, 2017

The videos were very well done. The exercises were a bit too easy in my opinion. But the exercises did focus on the issue at hand, unlike some other courses that get you stuck on complicated but unrelated issues used only as an example problem.

By Ruben C

•

Nov 3, 2021

The course is interesting and well explained, but Coursera Grader is a pain: fails in nearly all miniprojects. The last one don't work at all.

By Atsuya K

•

Feb 5, 2018

Provides background material for the course on concurrency in the same specialization. Assignments are trivial.

By Francisco R

•

Sep 6, 2017

I would prefer see examples based on standard Java code, not in a library developed for some small group.

By Phindulo M

•

May 6, 2020

A very good introductory course only rating 3 star because the projects did not feel greatly involving.

By Rahul M

•

Nov 22, 2017

good coverage of basics.. would have been great if there were few more coding practice papers.

By Hieu D

•

Apr 9, 2018

Heavy theory but poor practical. Need more enhancement for the next time.

By Mohamed E

•

Sep 17, 2018

Focusing more on theoretical parts

By MIAO K

•

Aug 29, 2017

Good overview, but less details

By Upasana S

•

Oct 27, 2020

Good part is that I have learnt quite a lot of things from this course and I enjoyed it. Not so good part is that I don't get answers to my questions I post on the forums, graders are not working correctly and I don't know the correct answers to the quiz (once I passed it, it would be nice to know the answers to the ones I answered incorrectly). I feel cheated because I paid for the course, but it makes me feel like I wasted my money a bit.

By Wenrui W

•

Mar 20, 2019

I spent 6 days on this course, and I feel it is not worth the time. One of the problems is that the lectures are overly basic, and the mini projects are not challenging, at least not in a helpful way (quizzes are sometimes challenging due to some concepts not covered in the lectures at all). I guess the instructor did not really spent much time preparing the materials and assignments.

By Clay M

•

Jan 18, 2022

The lectures and the projects often did not match up. The autograder was also very capricious and you can pass and fail with the same submission.