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.
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 Emmanuel J F
•Jan 20, 2019
Very basic
By Wen L
•Nov 1, 2017
This is the worst online course I ever had. Especially the programming assignment. You just need to change one line or add one line, which makes this course like a video tutorial. Definitely not for an intermediate level learner.
By Chintan G
•Jan 12, 2018
Course was very good. I some how was not in favor of using the custom lib. i would have prefer we learning how to write that code.
By Prathamesh B
•Nov 24, 2020
Amazing course. Especially for those who want to really understand the foundations behind multithreading and concurrency in Java. As always, Professor Sarkar is brilliant!
By Saifuddin M
•Nov 11, 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
By Hieu D
•Apr 16, 2018
Like previous course, The content is heavy in theory but not much in practical.
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 Naveen L
•Jul 15, 2019
The course is pretty good and lays down the basic theoretical knowledge about concurrency needed to begin developing expertise in this field. The quizzes and projects help you remember and understand the theoretical aspects while at the same time the projects also give you a glimpse of how the learned theory and aspects are applied in a more realistic coding setting rather than pseudo code.
By Dazhi W
•Aug 9, 2020
Great course overall but the difficulty of the mini-projects is not evenly distributed. Some are extremely easy while others seems to be too hard. Also it would be better to be able to use some libraries other than the RICE PDCP library which does not seem to be used elsewhere. For someone with moderate Java experience, the course could be finished within a week.
By Sankalp A
•Jun 2, 2020
Dr. Sarkar is a great teacher. The course includes different kinds of implementations of concurrent programming using Java. The Quizzes and the mini_projects were of great help when it comes to the reinforcement and they were selectively chosen for providing the implementation knowledge about the topic as well.
By Muhammad Y
•Sep 11, 2021
Really good and brief introduction to concurrent programming. Professor is superb at explaining the basic primitives of concurrent programming in a language agnostic way. Furthermore, I found programming assignments quite helpful as well in cementing the learned concepts.
By Kumaravel K
•Oct 6, 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 Carlos D M
•Feb 19, 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 Petros S
•Sep 2, 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.
By Fernando L C
•Feb 9, 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.
By A M
•May 30, 2020
Very well structured and presented course! Very useful material with good relevant examples! Thank you, Prof. Sarkar for this Concurrent Programming in Java course!
By Anurag A
•Feb 2, 2020
Awesome course, it nudges students in right directions, provides them with solid fundamentals and encourages them to deep dive more into topics. Thanks a lot!
By Wei Z
•Jan 21, 2020
The course is well organized with very clear instructions. It helps me to understand several fundamental concepts about concurrent programming.
By Gabrial Z A
•Sep 19, 2020
Very good explanation of the concepts of locks, and how important data-structures example HashMap are optimized to improve performance
By Marcelo S M
•Jun 27, 2021
The most challenging part was to pass the miniproject_4. I made some changes in the condition to get the passing score. Thank you!
By JB B
•Sep 3, 2017
Short and easy to understand multi-threading with locks, object-based isolation, Actors, Atomic values and optimistic concurrency.
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 Marcos P
•Nov 10, 2019
Very practical course, it gave me understanding details about concurrency I've never heard before.
Thanks Professor
By Kamil S
•Dec 23, 2017
Very good course on concurrency that can be applied to many other programming languages as well.