About this Course

35,059 recent views

Learner Career Outcomes

11%

started a new career after completing these courses

15%

got a tangible career benefit from this course

10%

got a pay increase or promotion

Shareable Certificate

Earn a Certificate upon completion

100% online

Start instantly and learn at your own schedule.

Flexible deadlines

Reset deadlines in accordance to your schedule.

Intermediate Level

Approx. 19 hours to complete

English

Subtitles: English

Skills you will gain

Concurrency (Computer Science)Actor ModelOptimistic Concurrency ControlJava Concurrency

Learner Career Outcomes

11%

started a new career after completing these courses

15%

got a tangible career benefit from this course

10%

got a pay increase or promotion

Shareable Certificate

Earn a Certificate upon completion

100% online

Start instantly and learn at your own schedule.

Flexible deadlines

Reset deadlines in accordance to your schedule.

Intermediate Level

Approx. 19 hours to complete

English

Subtitles: English

Instructor

Offered by

Rice University logo

Rice University

Syllabus - What you will learn from this course

Content RatingThumbs Up95%(1,491 ratings)Info
Week
1

Week 1

1 hour to complete

Welcome to the Course!

1 hour to complete
1 video (Total 1 min), 5 readings, 1 quiz
1 video
5 readings
General Course Info5m
Course Icon Legend2m
Discussion Forum Guidelines2m
Pre-Course Survey10m
Mini Project 0: Setup10m
5 hours to complete

Threads and Locks

5 hours to complete
6 videos (Total 41 min), 6 readings, 2 quizzes
6 videos
1.2 Structured Locks7m
1.3 Unstructured Locks7m
1.4 Liveness7m
1.5 Dining Philosophers8m
Demonstration: Locking and Synchronization4m
6 readings
1.1 Lecture Summary5m
1.2 Lecture Summary5m
1.3 Lecture Summary5m
1.4 Lecture Summary5m
1.5 Lecture Summary5m
Mini Project 1: Locking and Synchronization10m
1 practice exercise
Module 1 Quiz30m
Week
2

Week 2

4 hours to complete

Critical Sections and Isolation

4 hours to complete
6 videos (Total 36 min), 6 readings, 2 quizzes
6 videos
2.2 Object Based Isolation (Monitors)7m
2.3 Concurrent Spanning Tree Algorithm6m
2.4 Atomic Variables6m
2.5 Read, Write Isolation5m
Demonstration: Global and Object-Based Isolation3m
6 readings
2.1 Lecture Summary10m
2.2 Lecture Summary10m
2.3 Lecture Summary10m
2.4 Lecture Summary10m
2.5 Lecture Summary10m
Mini Project 2: Global and Object-Based Isolation10m
1 practice exercise
Module 2 Quiz33m
20 minutes to complete

Talking to Two Sigma: Using it in the Field

20 minutes to complete
2 videos (Total 10 min), 1 reading
2 videos
Industry Professional on Concurrency - Dr. Shams Imam, Software Engineer3m
1 reading
About these Talks10m
Week
3

Week 3

4 hours to complete

Actors

4 hours to complete
6 videos (Total 29 min), 6 readings, 2 quizzes
6 videos
3.2 Actor Examples6m
3.3 Sieve of Eratosthenes Algorithm5m
3.4 Producer-Consumer Problem4m
3.5 Bounded Buffer Problem3m
Demonstration: Sieve of Eratosthenes Using Actor Parallelism3m
6 readings
3.1 Lecture Summary10m
3.2 Lecture Summary10m
3.3 Lecture Summary10m
3.4 Lecture Summary10m
3.5 Lecture Summary10m
Mini Project 3: Sieve of Eratosthenes Using Actor Parallelism10m
1 practice exercise
Module 3 Quiz30m
Week
4

Week 4

4 hours to complete

Concurrent Data Structures

4 hours to complete
6 videos (Total 38 min), 7 readings, 2 quizzes
6 videos
4.2 Concurrent Queue5m
4.3 Linearizability6m
4.4 Concurrent Hash Map5m
4.5 Concurrent Minimum Spanning Tree Algorithm7m
Demonstration: Parallelization of Boruvka's Minimum Spanning Tree Algorithm7m
7 readings
4.1 Lecture Summary10m
4.2 Lecture Summary10m
4.3 Lecture Summary10m
4.4 Lecture Summary10m
4.5 Lecture Summary10m
Mini Project 4: Parallelization of Boruvka's Minimum Spanning Tree Algorithm10m
Exit Survey10m
1 practice exercise
Module 4 Quiz30m
15 minutes to complete

Continue Your Journey with the Specialization "Parallel, Concurrent, and Distributed Programming in Java"

15 minutes to complete
2 videos (Total 13 min), 1 reading
2 videos
Industry Professional on Distribution - Dr. Eric Allen, Senior Vice President, Two Sigma6m
1 reading
Our Other Course Offerings2m

About the Parallel, Concurrent, and Distributed Programming in Java Specialization

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)....
Parallel, Concurrent, and Distributed Programming in Java

Frequently Asked Questions

  • Once you enroll for a Certificate, you’ll have access to all videos, quizzes, and programming assignments (if applicable). Peer review assignments can only be submitted and reviewed once your session has begun. If you choose to explore the course without purchasing, you may not be able to access certain assignments.

  • 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. Your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile. If you only want to read and view the course content, you can audit the course for free.

  • 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, 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.

  • This Course doesn't carry university credit, but some universities may choose to accept Course Certificates for credit. Check with your institution to learn more. Online Degrees and Mastertrack™ Certificates on Coursera provide the opportunity to earn university credit.

More questions? Visit the Learner Help Center.