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 Felipe R•
Practical exercises are not challenging at all. Some require changing 1 or 2 lines of code. Also, exercises are hard to test locally. Sometimes they fail on the student's machine and pass when submitted.
I don't understand why we used PCPD library, lessons should focus on Java API.
by Pavel B•
Unfortunately course designed very poorly.
While lectures generally are good, there are not enough of materials. I'm sorry to say, but programming assignments are bad. Forum is full of posts like "Grader grades the same file for 100 and 50 points". Teaching stuff reacts on this like, quote:
"Hi Anton, I may have missed it but I don't see a question in your text? Is there something I can help with?"
Yes, dear teaching stuff, you can help not only Anton, but all of us. Take a look at Parallel Programming Using Scala, here, on Coursera. Their grader is stable, and apparently there is a well-known, common way of reaching the stable state of JVM using testing frameworks. They measure performance after stable state is reached.
Also, it is not clear what is actually the topic of this course? Parallel programming? No. There is almost nothing to do with common parallel programming. No info about hardware, schedulers, operating systems, JVM. Java? Also no, there is no information on language, its specific parts, its implementation for threads, no words are said about JVM, actually JVM event wasn't mentioned. So, then, what is this course about? I may say this course "A good introduction to parallel programming".
I hope the next course in this specialization will get much better.
by Oleksandr V•
I enrolled in this specific course (not in the whole specialization). Later It turned out that you are not allowed to submit code if you have an unpaid subscription. Fine, I decided to pay for it. After all, someone invested his time in creating the course. Then, for some reason, I have got a subscription for the whole program, not a single course. I did not realize that and got charged the second time after the first month past. But okay, probably I did not understand the whole procedure around it.
The amount of information is very small. For 42 Euro you get few lectures and few quite basic exercises.
In most of the tasks you need o write only a couple of lines of code. The evaluation is not reliable. You can do your task right way, but it will not pass test from the first time and you are not sure if your are doing something wrong or what is the reason of the failure. Then you just resubmit the same code and after second, third or fourth time it suddenly works.
I can understand that in concurrent environment sometimes it is hard to achieve stable performance.
All together this leads to a bad experience. It is not the quality I've got used to when watching other courses here. Not worth its money. It is better to buy a book or the same amount.
by Rongpeng L•
Please make the course more difficult.
by Roman H•
You will most likely learn something new about parallel programming in Java. You will also learn how to analyse and optimise your parallel execution tasks based on computational graphs, critical paths, amount of work, speedup and other essential parameters.
by Pratik S•
This is a very good course for anyone who has experience in java and wants to understand parallel programming. Course design is really good. Course brushed up some of concepts I have learnt in college years and added hands on experience with new java apis that I haven't used yet. Overall This course has improved my ability of thinking in parallel way of programming..!!
by Talgat Q•
Dear Coursera and Rice University team, thank you for this course.
Being a PhD student at Nazarbayev University (Astana, Kazakhstan) at Department of Electrical and Computer Engineering I found answers for lots of my questions about parallel programming and also new direction that I should move on.
by Julie L•
It was actually quite fun. I particularly enjoyed the Two Sigma interviews, which gave me a better understanding about how the course concepts are applied in business.
by Nikita S•
The expected time for mini-projects is extremely overestimated. In weeks 3 and 4 it takes about 5 minutes to complete the mini-project if you watch the video lectures carefully. Consequently, it does not feel like I am learning a lot if I don't have to do much coding.
For me, it would be more interesting and challenging to implement some internal low-level functionality of the PCDP library instead of blindly using it. Let's be realistic, I am unlikely to use PCDP directly in my career, so it would make more sense to understand how things are built on the lower level.
by Pushkar S•
A good place to start. Fundamental parallel programming concepts taught in a simple manner. Liked the quiz and demo projects.
by Manmeet D•
This course does teach a lot, gives a lot of breadth. It was really easy, one week barely took me 4-5 hours to complete. The exercises were too easy. I wish some theoretical knowloedge was shared and then java was used to build on those concepts. This course is also a little confusing, I think a person without any prior knowledge would be lost here. Especally, how RecursiveTask is introduced.
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 Vladislav L•
It is not medium level course. Seems beginner for me
by Riccardo P•
Not sure it deserves the money, YouTube has more content, but I love the prof dress
by David L•
Excellent introduction to parallel programming in Java. Professor Sarkar is very clear and detailed in his lectures. The quizzes are challenging but not overly difficult. The projects are very straightforward and the video demonstrations are very helpful. Professor Sarkar and the teaching assistants were very active in the forum, helping to answer questions, clarifying concepts, and resolving issues.
One area for improvement is the automated testing grader of the projects. The projects are graded on percentage speedup of your parallelized code, but sometimes they would pass locally while not pass on the testing server. Then I just had to keep submitting the same code over and over again until the tests finally all pass. It's nice the number of times you can submit is unlimited, but having to submit the same code just to pass a certain speedup threshold is not the best use of time.
Overall, I learned a great deal, and appreciate all of the hard work that went behind putting together a course like this. Highly recommended!
by Ryan B•
The course is very well organized and teaches up-to-date techniques for Java parallelization. The material that is covered in this course can be used immediately for Java programmers. The instructor organized the videos so that each video is short and covers one point. His examples show the value of what is being taught and how to apply what is being taught. Every video also comes with a summary of "this is what you should have learned from this video". If you missed any details or didn't understand it, the video summary was very helpful for me. I highly recommend this course for an introduction to parallel programming.
by Santiago M Z O•
Very interesting course, I learnt a lot of things about how to understand parallel programming concepts and implementation in Java. Vivek Sarkar (the teacher) understands and explains the concepts very well, on a side note I found particularly nice that every week he had a different very cool tropical shirt :-) I feel I identify a bit with him on that regards because I'm seeking to build a repertoire of such shirts, and of course also understanding parallel, concurrent, and distributed programming much better!
by Fernando L C•
This is a great introduction to the Parallel Programming world. You get some hands-on experience through Java way of parallelism that can easily apply to many other languages. After taking this course I see programming in a completely different way. Each time that I have to go through an array or tasks that could be parallelized I'll be able to do it with almost no extra coding cost and great improvement in performance. Thank you Vivek! Great course!
by Raymond S•
This course is very good. It explains core concepts well and the projects and quizzes help test your knowledge. My only criticism would be the provided api from Rice which contains useful helper methods. I would be prefer if we were to learn how to do things using the standard Java library because that is what we are more likely to use if we are developing parallel programs professionally.
by Trilobiet I•
Awesome course. I did the whole specialization, which I can recommend, from parallel to distributed. Vivek is an inspiring guide with a very natural way of presenting. These can be quite complicated topics and though I feel like I have a good (initial) grasp of them now, they certainly ask for further investigation and practice.
by Josh S•
This was a very well laid out, useful, and interesting course. I have done a few of them and this was one of the better ones by far. Clearly communicated and short lectures. Assignments that are actually useful and focus on what you learn. Course doesn't require a huge time sink so good for professionals.
by Sonu M•
I liked the course material and the relevant assignments and projects. It is of right difficulty level: gives you knowledge and makes you comfortable with the concepts and tools without making you slog for weeks. I feel students will be able to retain the gained knowledge longer than traditional classes.
very informative. This course has a great balance between theoretical and practical method. Programming Java is a really great. if you are not familiar with Java like me assignment is quit challenging. You need to know a basic API and get used to Java documentation. I highly recommend this course.
by Hannah V S•
Fantastic introduction to parallelism in Java. Starts basic enough for those with zero experience with parallel computing, goes far enough to give more experienced Java devs some things to chew on, gives practical examples for how to apply parallel techniques throughout. Highly recommended!
by Prathamesh B•
Amazing course. Dr. Sarkar is a fantastic professor. The course materials and the teaching style will make you understand several complicated topics with confidence and ease. After this course, I have a very good understanding of the fundamentals of programming parallelism in Java.