About this Specialization

10,414 recent views
Parallel, concurrent, and distributed programming underlies software in multiple domains, ranging from biomedical research to financial services. This specialization is intended for anyone with a basic knowledge of sequential programming in Java, who is motivated to learn how to write parallel, concurrent and distributed programs. Through a collection of three courses (which may be taken in any order or separately), you will learn foundational topics in Parallelism, Concurrency, and Distribution. These courses will prepare you for multithreaded and distributed programming for a wide range of computer platforms, from mobile devices to cloud computing servers. To see an overview video for this Specialization, click here! For an interview with two early-career software engineers on the relevance of parallel computing to their jobs, click here. Acknowledgments The instructor, Prof. Vivek Sarkar, would like to thank Dr. Max Grossman for his contributions to the mini-projects and other course material, Dr. Zoran Budimlic for his contributions to the quizzes, Dr. Max Grossman and Dr. Shams Imam for their contributions to the pedagogic PCDP library used in some of the mini-projects, and all members of the Rice Online team who contributed to the development of the course content (including Martin Calvi, Annette Howe, Seth Tyger, and Chong Zhou).
Learner Career Outcomes
25%
Started a new career after completing this specialization.
25%
Got a pay increase or promotion.
Shareable Certificate
Earn a Certificate upon completion
100% online courses
Start instantly and learn at your own schedule.
Flexible Schedule
Set and maintain flexible deadlines.
Intermediate Level
Approx. 3 months to complete
Suggested 5 hours/week
English
Subtitles: English
Learner Career Outcomes
25%
Started a new career after completing this specialization.
25%
Got a pay increase or promotion.
Shareable Certificate
Earn a Certificate upon completion
100% online courses
Start instantly and learn at your own schedule.
Flexible Schedule
Set and maintain flexible deadlines.
Intermediate Level
Approx. 3 months to complete
Suggested 5 hours/week
English
Subtitles: English

There are 3 Courses in this Specialization

Course1

Course 1

Parallel Programming in Java

4.6
stars
873 ratings
182 reviews
Course2

Course 2

Concurrent Programming in Java

4.5
stars
499 ratings
90 reviews
Course3

Course 3

Distributed Programming in Java

4.5
stars
367 ratings
59 reviews

Offered by

Rice University logo

Rice University

Frequently Asked Questions

  • If you subscribed, you get a 7-day free trial during which you can cancel at no penalty. After that, we don’t give refunds, but you can cancel your subscription at any time. See our full refund policy.

  • Yes! To get started, click the course card that interests you and enroll. You can enroll and complete the course to earn a shareable certificate, or you can audit it to view the course materials for free. When you subscribe to a course that is part of a Specialization, you’re automatically subscribed to the full Specialization. Visit your learner dashboard to track your progress.

  • Yes, Coursera provides financial aid to learners who cannot afford the fee. Apply for it by clicking on the Financial Aid link beneath the "Enroll" button on the left. You'll be prompted to complete an application and will be notified if you are approved. You'll need to complete this step for each course in the Specialization, including the Capstone Project. Learn more.

  • When you enroll in the course, you get access to all of the courses in the Specialization, and you earn a certificate when you complete the work. If you only want to read and view the course content, you can audit the course for free. If you cannot afford the fee, you can apply for financial aid.

  • This course is completely online, so there’s no need to show up to a classroom in person. You can access your lectures, readings and assignments anytime and anywhere via the web or your mobile device.

  • There are 3 courses in this Specialization. Based on a weekly commitment of 4-8 hours, you should be able to complete the Specialization in 12 weeks.

  • The Specialization is targeted at an audience that is already familiar with sequential programming in Java, including a basic knowledge of Java 8 lambdas.

  • No, you can take the courses in this Specialization in any order.

  • You will not earn university credit for completing the Specialization.

  • This course teaches 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 and Stream to write parallel programs for a wide range of multicore platforms whether for servers, desktops, or mobile devices, while also learning about their theoretical foundations (e.g., deadlock freedom, data race freedom, determinism).

More questions? Visit the Learner Help Center.