Chevron Left
Volver a Parallel Programming in Java

Parallel Programming in Java, Universidad Rice

4.6
516 calificaciones
108 revisiones

Acerca de este Curso

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

Principales revisiones

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

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

Filtrar por:

108 revisiones

por Ivan Konovalov

Jan 16, 2019

It was useful and interesting course, however, I'd like to see more complicated practical tasks

por Deeptanshu Malik

Jan 05, 2019

Excellent lecture videos. Excellent written summaries.

por Guillermo Delaney

Jan 03, 2019

Great Course!!

por Arvind Kumar GS

Dec 30, 2018

Thank you for making taking the time to prepare this and making it available online on Coursera. Cheers!

por Isaac Andersen

Dec 27, 2018

Enjoyed this course a lot! Wished the projects were a little more substantial

por Rhijul Mangla

Dec 23, 2018

Although this was a very excellent course to understand various API's and methods that are exposed by Java SDK's (RecursiveTasks, Fork/Join Framework etc) and touched on very important multi-core parallelism aspects, I was left wanting for more fundamental explanations regarding how parallelism works under the hood (How the thread works, how the signalling between barrier synchronisation happens etc). Thanks, none the less. Looking forward to next course.

por Prakash

Dec 22, 2018

Awesome course work on parallel programming

por tarun n

Dec 21, 2018

The concepts like thinking about work,span,cp.amhdals law very very helpful. Although i believe there should be more examples wit code as in quiz.

por Jaime Fernando Ortega Culaciati

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.

por Sonu Mishra

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.