Chevron Left
返回到 Parallel Programming in Java

學生對 莱斯大学 提供的 Parallel Programming in Java 的評價和反饋

4.6
stars
711 個評分
139 條評論

課程概述

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)....

熱門審閱

LG

Dec 13, 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 28, 2017

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.

篩選依據:

1 - Parallel Programming in Java 的 25 個評論(共 138 個)

創建者 Rongpeng L

Nov 12, 2018

Please make the course more difficult.

創建者 Pavel B

Nov 18, 2017

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.

創建者 Oleksandr V

Mar 15, 2019

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.

BUT...

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.

創建者 David L

Aug 27, 2017

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!

創建者 Ryan B

Sep 18, 2017

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.

創建者 Richard O

Mar 07, 2019

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.

創建者 Josh S

Feb 09, 2018

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.

創建者 Sonu M

Dec 03, 2018

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.

創建者 Talgat Q

Apr 21, 2018

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.

創建者 YounghwanNam

Feb 08, 2019

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.

創建者 Hannah S

Jun 28, 2018

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!

創建者 Tobi L

Oct 23, 2017

Concise, well structured and effective. I now know the basics of ForkJoinPool, barriers, split-phase barriers and promises. Also the analysis of computation graphs really solidified my understanding of the relationship between parallelism and speedup over sequential equivalents.

創建者 Nikolay M

Jan 31, 2018

very useful concept such as async and future

this course help me understanding parallel programming in Java, I download language X10

please accept my gratitude. the ability to disassemble on the fingers difficult problem is the ability of the truly talented teachers

創建者 Vinay B S

Sep 30, 2017

An excellent course. Thank you, Dr. Sarkar!

During my internship, when I was taking this course, coincidentally, I got an opportunity to use Async tasks , get() etc. Was very happy when I could practically apply the concepts that I learnt during the course.

創建者 Jean-Baptiste B

Aug 09, 2017

The video lessons are short and well made with practical summaries. Parallelism is a must for every serious software engineer just as being good with algorithms and data structures. Re-watch the videos and summaries to help you do the mini-projects.

創建者 Jaime F O C

Dec 11, 2018

This is a very good course, but I think that it needs more visual elements and more challenging homeworks. However, this course doesn't just offer a "how you can do this in Java", since it will first show you the theory. Great course.

創建者 Ignacio G

Oct 22, 2018

It's a great course, you learn the fundamentals to keep going and challenge your task at work to improve the performance.

I don't find that good that sometimes we have to use the API's provided by the University and not Java libraries.

創建者 Qingbo Z

Nov 15, 2019

This course has lots of invaluable insights, in-depth materials from high level concepts to practice. I highly recommend this course to all programmers who want to familiarize themselves with Java parallel programming.

創建者 Tianxiang X

Jul 23, 2018

Well-made videos, good explanation of concepts, great hands-on projects (not too difficult).

Some issues w/ differences b/t dev and grader environments in terms of performance / tests passing, but that's inevitable.

創建者 Roman M

Nov 07, 2017

This course is a good introduction to parallel programming. The assignments was to easy. Asides that, everything is great, Vivek Sarkar did a great job to teach fundamentals in easy to understand manner.

創建者 Leonid S

Sep 07, 2018

Thanks to this course I've learned actual (modern?) Java APIs which helps to embed parallelism into my programs.

And one more important thing: I stated to learn again. This worth to do at any age :)

創建者 Lee G

Dec 13, 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.

創建者 Srikar V

Aug 28, 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.

創建者 Julie L

Dec 14, 2019

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.

創建者 Rishabh A

Dec 27, 2017

Very relevant concepts, explained beautifully by a very experienced professor. The assignments were good, but they could involve more programming for more practice!