返回到 Parallel Programming in Java
Rice University

Parallel Programming in Java

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

状态:Java
状态:Functional Design
中级课程小时

精选评论

SD

4.0评论日期:May 25, 2020

I found the explanation of how to precisely code phasors lacking as the Thread stuff was already provided in sample code and never explained. Quite satisfied with the rest of the course though.

VG

4.0评论日期:Jun 2, 2020

Very well structured, taught and paced course, I only wish it had a passing project which would have given us more hands on practice and insights to parallel programming.

RA

5.0评论日期:Dec 26, 2017

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

AB

4.0评论日期:Jan 27, 2018

Instructor is awesome. However instead of sharing ready libraries for parallelism (like forall loop) in section 3, native codes should be used for forall loops etc.

JC

4.0评论日期:Jun 25, 2020

Great introduction to parallel programming. Lectures were clear, summaries were helpful, quizzes were not trivial, discussion forum is good, but the assignments' grading system could be improved.

V

4.0评论日期:Nov 6, 2017

Very useful course about parallel programming theory and practice.Could be less examples with custom libraries instead of standard java features looking to practical usage at work.

JL

5.0评论日期:Dec 13, 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.

BK

5.0评论日期:Jul 19, 2020

I have never known these things existed and changed my perspective how to take advantage of multiple processor. I have used numpy in python but now I know how these are fast.

QL

5.0评论日期:Jan 23, 2018

The combination of quiz and programming assignment helps understanding the course in a quite nice way. I will finish up the other two courses for sure.

KK

4.0评论日期:Jun 18, 2018

Excellent Course.I always wanted a good course on java concurrency and parallel programming.And finish->async, isolated, forAsync constructs are awesome.I have learnt much from this course.

JC

4.0评论日期:Sep 7, 2021

Good introduction to the concepts of parallel programming, the programming assignments were a bit easy though and could be made harder to improve the learning experience.

FJ

5.0评论日期:Oct 13, 2020

great course over here it has been great interacting with a simplified course where every complex thing has been narrowed down to easily understandable concepts

所有审阅

显示:20/265

Felipe Reis
2.0
评论日期:Mar 11, 2018
Oleksandr Vasko
2.0
评论日期:Mar 15, 2019
Pavel Bazin
2.0
评论日期:Nov 18, 2017
Rongpeng Li
4.0
评论日期:Nov 11, 2018
Roman Hrushchak
5.0
评论日期:Oct 24, 2021
Brij Raj Kishore
5.0
评论日期:Jul 19, 2020
RAHUL KHATOLIYA
3.0
评论日期:Jul 20, 2021
Pratik Sawant
5.0
评论日期:Apr 15, 2021
Talgat Manglayev
5.0
评论日期:Apr 21, 2018
Samujjal Barman
5.0
评论日期:Sep 1, 2020
Julie Lollis
5.0
评论日期:Dec 14, 2019
Nikita Skybytskyi
4.0
评论日期:Mar 4, 2022
Pushkar Shrestha
4.0
评论日期:May 3, 2021
Anton Malmygin
3.0
评论日期:Apr 18, 2020
Manmeet Dhaliwal
3.0
评论日期:Jan 30, 2022
Vladislav Lipianin
3.0
评论日期:Mar 18, 2021
Jakob Ullmann
2.0
评论日期:Mar 14, 2021
Riccardo Pasquini
2.0
评论日期:Jul 26, 2019
David Lin
5.0
评论日期:Aug 27, 2017
Ryan Bird
5.0
评论日期:Sep 18, 2017