Chevron Left
Parallel Programming in Java(으)로 돌아가기

Parallel Programming in Java, 라이스 대학교

(596개의 평가)

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

최상위 리뷰

대학: 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.

필터링 기준:

124개의 리뷰

대학: Marcos Nahuel Forlenza

May 04, 2019


대학: Vitalii Dmitriev

Apr 19, 2019

Thank you for this course! Really interesting, but lacks the real world examples and has little number of tasks to complete.

대학: Alban Dericbourg

Apr 15, 2019

Very interesting content: it is definitely useful to get into that topic. Mini projects are sometimes a bit light: what has to be done is so simple that it can be frustrating... or misleading (I would expect to have more than a single line to change sometimes).

대학: vini garg

Apr 06, 2019

Would like more assignments and examples.

대학: Robinson Severo

Apr 01, 2019

The course is very good, teaching in simple way several complex questions.

대학: WANG Wenrui

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.

대학: Donghe Xu

Mar 17, 2019

Thanks for the course materials! I'm getting a lot of new knowledges from the course for cs fundamentals. I'd like to suggest to have more concrete examples to explain many concepts like SPAN, signal and put, etc.

대학: Oleksandr Vasko

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.


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.

대학: Daniel Flores Guerrero

Mar 14, 2019

great content and mentors

대학: Richard Osseweyer

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.