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.
Great course. Introduces Parallel Programming in Java in a gentle way.\n\nKudos to Professor Vivek Sarkar for simplifying complex concepts and presenting them in an elegant manner.
By Jairo A O C•
Muy buen curso
By TAHA K•
Good course !
By Moturu N•
By Divam K•
By Anton M•
While i've definitely learned something new, there are some frustration points:
> Material presentation and abuse of pseudo code. Some concepts presented at very high abstraction level without going into details of implementation. Part of course relay heavily on custom parallel programming library, writing in java while other parts are given in built-in Java framework. In lecture summary code is presented as pseudo code, so there are not way to run and see that it does.
> Length of the course. Most of weeks has about 30 minutes of videos in total.
> Issues with grader. Grader is not reliable, you can find that same code sent twice will result in fail and pass. Also, when running test locally, it may fail, while passing when send for real (in my case it was because test code from assignment incorrectly gave number of processes when hyper-threading is enabled)
> Easy exercises. Apart from grader issues, assignment itself do not gave any challenge. Assignment of one week can be passed by just changing signature of method to right one (literally just few characters change)
By Marcos N A•
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•
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•
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•
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•
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•
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•
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•
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•
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 RAHUL K•
I just want to suggest that , their should be a solution of each assignment as well , where the instructor will explain it , and it will be only unlocked when the student has submitted its assignment and passed it .
By Atsuya K•
Provides background material for the course on concurrency in the same specialization. Assignments are trivial.
By Francisco R•
I would prefer see examples based on standard Java code, not in a library developed for some small group.
By Phindulo M•
A very good introductory course only rating 3 star because the projects did not feel greatly involving.
By Rahul M•
good coverage of basics.. would have been great if there were few more coding practice papers.
By Hieu D•
Heavy theory but poor practical. Need more enhancement for the next time.
By Липянин В Г•
It is not medium level course. Seems beginner for me
By Mohamed E•
Focusing more on theoretical parts
By MIAO K•
Good overview, but less details
By Jakob U•
The covered material is useful, but the presentation is... well, not so nice. The professor writes with a pen on a glass board, and his handwriting is a catastrophe (it's not about individual letters, but the way he clutters up space in a completely unorganized way), and on top of that it slows down the delivery. So I ended up just reading the summaries and watching the demonstration videos and only referring to the videos when needed.
The mini projects are way too easy in my opinion, though useful.
But my main criticism is that the course's title is "Parallel Programming in Java." However, the course doesn't teach you the Java API, which it definitely should. It recommends using RecursiveTask from the Fork/Join framework to implement a future, which is kinda stupid. It certainly works, but if you do it in real life, it immediately exposes you as ignorant of Java's API. No mentioning of Executors whatsoever. Doesn't teach you how you can distinguish the number of logical and physical cores, and indeed the provided unit tests are all such that you can get 100% from the Coursera grader, which uses 4 tasks, but will let you fail if you run it on an octacore AMD Ryzen 7 with 16 threads, because it unrealistically (for CPU-bound tasks) expects almost 16-fold speedup from your parallelized solutions. In the end, you're left wondering if it is better to construct a ForkJoinPool yourself or to use the commonPool(), or whether you should call submitAll() or fork(), or whether you should construct your Phaser with 0, 1 or the number of tasks, and what the difference between awaitAdvance and awaitPhase might be, instead of leading by example and showing you a clean use of the API. On top of that, it introduces you to Rice's HPDP (or something like that) library... That's cute (and to be fair, the libary seems quite useful and elegant), but it's not really what people come here for.
I can say that I learned something from this course, but I would not have wanted to pay for the course if it wasn't included in Coursera Plus.
By Upasana S•
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.