Chevron Left
Back to Concurrent Programming in Java

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

4.5
stars
622 ratings
108 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 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:

101 - 107 of 107 Reviews for Concurrent Programming in Java

By Nanditha K R

Sep 14, 2020

The concepts are explained well. Quizzes and mini project could be better. Somehow the assignments and quizzes were not to standard. Mostly fixing one line changes. Autograder of assignment can be improved.

By Phindulo M

May 7, 2020

The auto grader is very inconsistent which ruined my experience of the course.

Enjoyed the lectures and they were very informative.

By Ottavio V

Jul 17, 2019

Too much time spent always submitting the same solutions because the autograder doesn't work!

By Ignat S

Oct 1, 2019

autograder is buggy

By Jakob U

Mar 15, 2021

Same criticism applies that I already had for the Parallel course:

The presentation is annoying, due to the use of a pen on a glass board.

The worst part is the use of the PCDP library, which is to be imported statically (if you don't like Java's object focus, then why don't you choose another programming language instead? I'm anyway not convinced that Java has particularly good support for concurrency, compared with C# or C++, so that really doesn't make sense to me...). Professor Sarkar invents some abstract notation and suggests his own library to make you write code that, through the static import, looks just like your theoretical notation. Okay, but that's not what programming is about, that's like teaching machine learning by showing you how to use sklearn, rather than covering the underlying algorithms (except that the concepts presented in this course are much more trivial than machine learning algorithms... and the course doesn't even have depth, don't expect e.g. that it tells you what the difference between a Hoare and a Mesa monitor is!). Maybe it would make sense if you teach how the library implements these things, but the way this course is delivered it really amounts to a horrible presentation of some theoretical ideas with some toy exercises, and you can almost delete the "in Java" part.

By Alexander B

Oct 28, 2021

Why is homework so different from videos? Why does teacher give so little information? He must give more information not only wiki links... High level of teacher but very low level of teaching. I do not recommend

By Govardhan M

Dec 5, 2020

The coding assignments are lot different than what's explained in the videos. Had difficult time to figure them out.