Chevron Left
Back to Concurrent Programming in Java

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

4.5
384 ratings
61 reviews

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

SM

Nov 12, 2017

This was a good course and covered all the topics relevant to the course. I liked the Optimistic Concurrency in week 4 - that was an area I was not exposed to before

Filter by:

1 - 25 of 60 Reviews for Concurrent Programming in Java

By Emmanuel J F

Jan 20, 2019

Very basic

By Ernest S

Oct 29, 2017

Examples and projects are somewhat "sandbox" grade, without touching real problems of this field. Code and tests quality is poor in my opinion.

I would consider it as a overview of possible approaches, not a course. Assigments could be frustating because outcome is sometimes non-deterministic (I wasted few hours of my time because of this, it turned out that my solution was fine). Sometimes given examples are not following Java documentation in details. They could not work in corner cases. It should not be the case in the course made by professionals.

Compared to the other courses I took authors of this one did not put much effort in preparing good materials and exercises. Course can by challenging by means of standing frustration assigments could give you. And in my opinion not because it is hard to pass them and they are demanding. It is because they are not properly prepared.

I have mixed feeling about specializations. This topic can be hard. And course mentions most of the important topics in non-sequential computer computing essential to making working systems. But it does not give deep insight in many of them.

By Raghav A

Mar 29, 2019

Excellent Course

By Zeeshan A

Mar 05, 2019

Excellent course , well explained and organised.

By Leonid S

Mar 15, 2019

Excellent! Great thanks to professor Vivek Sarkar

By Partha B

Feb 14, 2019

Good

By Мухин С А

Sep 25, 2018

Хорошо

By Benjamin G J

Aug 10, 2018

Much stronger in mini-projects than the first course.

By Jad C

Oct 09, 2018

Great course, it focuses on the basics and let you master them

By Sudharaka P

Nov 19, 2018

Great course to understand the fundamentals of concurrent programming!

By Rahul K R

Jul 22, 2018

Hard course, we need more assignments, small chunks. Making assignments for courses like these is not trivial as well.

By Carlos D M

Feb 20, 2018

Great introduction to concurrent programming concepts. Well-paced. Instructor is clear and personable. The mini-projects feel a little too easy sometimes, but at that point it's up to me to dig deeper and learn more on the topics. I enjoyed this course very much.

By Kamil S

Dec 23, 2017

Very good course on concurrency that can be applied to many other programming languages as well.

By chandiprasad

Oct 15, 2017

Very informative course !

By David L

Sep 23, 2017

Great prof, great material, great TAs ...

Highly recommended!

By Douglas H

Sep 06, 2017

Great course in the series on Parallel, Concurrent and Distributed Programming in Java.

By B. M

Nov 18, 2017

Another great course from Prof. Sarkar!

By Mr. J

Jan 24, 2018

Fine survey of the core concepts supported by mini project and quizes

By Jean-Baptiste B

Sep 03, 2017

Short and easy to understand multi-threading with locks, object-based isolation, Actors, Atomic values and optimistic concurrency.

By Kumaravel K

Oct 06, 2017

"It takes a genius to make it simple.”

Prof. Sarkar has explained and illustrated some of the complex concurrency and parallelism concepts in very simple terms. Even an experienced concurrency java developer will have something to take away from these classes.

Thank you.

By Keesun B

Feb 18, 2018

Very well organized course

By Vaibhav j

Sep 24, 2017

Great

By Mahesh C

Feb 24, 2018

very nice content and throughly articulated the difficult topic

By Donghao F

Sep 09, 2017

nice

By Petros S

Sep 02, 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.