Chevron Left
Back to Concurrent Programming in Java

Learner Reviews & Feedback for Concurrent Programming in Java by Rice University

4.5
stars
649 ratings

About the Course

This course teaches learners (industry professionals and students) the fundamental concepts of concurrent programming in the context of Java 8. Concurrent programming enables developers to efficiently and correctly mediate the use of shared resources in parallel programs. By the end of this course, you will learn how to use basic concurrency constructs in Java such as threads, locks, critical sections, atomic variables, isolation, actors, optimistic concurrency and concurrent collections, as well as their theoretical foundations (e.g., progress guarantees, deadlock, livelock, starvation, linearizability). Why take this course? • It is important for you to be aware of the theoretical foundations of concurrency to avoid common but subtle programming errors. • Java 8 has modernized many of the concurrency constructs since the early days of threads and locks. • During the course, you will have online access to the instructor and mentors to get individualized answers to your questions posted on the forums. • 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. The desired learning outcomes of this course are as follows: • Concurrency theory: progress guarantees, deadlock, livelock, starvation, linearizability • Use of threads and structured/unstructured locks in Java • Atomic variables and isolation • Optimistic concurrency and concurrent collections in Java (e.g., concurrent queues, concurrent hashmaps) • Actor model in Java Mastery of these concepts will enable you to immediately apply them in the context of concurrent Java programs, and will also help you master other concurrent programming system that you may encounter in the future (e.g., POSIX threads, .NET threads)....

Top reviews

PS

Sep 1, 2017

Great course. With minimal effort you can learn about important concepts and see immediate results regarding the actual speedup you can achieve using concurrent programming.

FC

Feb 8, 2020

Excellent way to refresh what I learned some years ago in Operator System. Also I won a small hands-on experience using locks, isolation and high level concurrency in Java.

Filter by:

51 - 75 of 109 Reviews for Concurrent Programming in Java

By CARLOS J G R

Apr 16, 2021

Un excelente curso

By Ілля В

Dec 29, 2020

Outstanding course

By Raghav A

Mar 29, 2019

Excellent Course

By Dmitrii C

Jan 13, 2021

great lectures!

By Андрей С

Jun 18, 2020

Amazing course.

By Apekshit K

Jul 30, 2020

Nice to learn.

By RAHUL T

Oct 17, 2019

Nice course!!

By Jingci L

Jun 18, 2020

Very helpful

By Мухин С А

Sep 25, 2018

Хорошо

By vaibhav j

Sep 24, 2017

Great

By Partha B

Feb 14, 2019

Good

By Donghao F

Sep 9, 2017

nice

By Xiao X

Mar 14, 2018

The feedback will be similar to the first course, parallel programming in java, such that the course contents are good. The lecturer can explain the theory very well. But the homework is just repeating of the demo video. I hope we can have the opportunity to practice the actual thread creation, joining, etc. instead of using the API call.

By Wang S

Aug 9, 2017

some suggestions: *the assignment is too easy.*

perhaps make more mini projects with different situations to solve:

parallelize simple program (more!!) / identify and fix deadlock / livelock / improve performance for bad implementation)

thanks for your great effort in offering this course! GREAT JOB!

By Konstantin M

Dec 10, 2017

Generally, provided material is very usefull in modern programming experience.

Something I would change in the course program are instructions to use custom PCDP library. This hardly can be used in real-life projects in future. Some original Java constructions is a better choice for me.

By Jimmy C C

Jun 30, 2020

Good refresher on concurrency from my OS class. The concurrent minimum spanning tree was interesting, but the assignment for it has a pretty bad grading system. Lectures are clear, except the linearizability part.

By Ankit M

May 18, 2020

Actors could use a bit more time and i would add like small coding exercises in the middle may be ? Also, grading could be a bit ore lenient with speed up. I had to submit multiple times with very minor changes.

By Andrew D M

Jan 26, 2020

Course content is well-structured and covers basic topics of concurrent programming.

However, code quality and tests for exercises could be better. Usually to pass an assignment you have to send it many times.

By Josefine L

Jul 9, 2018

Very good, but I'd like more practical examples and walk-troughs. If you don't get it the in the only example or the demo, then you're left on your own to Google for more examples and a deeper understanding.

By André F L C

Jul 4, 2019

Este curso depende del curso de Paralelismo, por esta razón se debe tomar los cursos en orden. Debería tener mas ejemplos de código para un mejor feedback de la teoría.

By ChitoseYono

Apr 18, 2022

As a course for introduction it is good. But it mentioned very little of how we implement all these concept like isolation and actors. I wanna see more of it.

By Endless E

Jul 29, 2018

A lot of my time has been wasted due to a very poor explanation of actors. All it takes is "Actors have their own threads and that is how they are concurrent.

By Farruh H

Nov 27, 2020

It could have been better. Course content is very basic and just scratches the surface of concurrent programming. However, fully recommend it for beginners.

By Junqi X

Mar 17, 2020

The course overall is good, but the autograder of assignment can be improved so that the students will not get frustrated to their answer for such long time

By Shruti

May 1, 2020

It was a really interesting course where the things were presented in a very simplified manner in which I could learn the topics in a short span of time.