Learn how to write composable software that is event-driven, scalable under load, resilient and responsive in the presence of failures. Model systems after human organizations or inter-human communication.
Not yet finished and not as good as "Introduction to Functional Programming in Scala" by Odersky, this course is anyway well done, explanations are generally clear and content is challenging but well presented. The only negative point is that the test rater does not provide clear feedback. It has been told that it's up to the student to write his own tests.. maybe a side course on scalatest and scalaunit would be a good idea for thise who do not have experience. And even in this case, if I fail a test and do not know why the feedback is not that useful.
Heed the warnings that you must be an experienced Scala programmer to do well in this class (I am a very experienced imperative programmer in several languages). I took the "beginning" class, but even that was challenging and I didn't complete the later assignments (I did complete them after the class ended). The lectures only cover the basics, but the assignments go into details and do cover the essentials quite well. The best resource was the "Reactive Cheat Sheet" that was mainly put together by advanced students (thank you, thank you). Even then, I didn't complete any of the assignments. I persevered because my goal became collecting a wide variety of resources to be understood later. The class forum grew to over 90 pages of just topics (I saved many of the discussion pages). Distributing applications on a "sea of processors" is the future of computing and tools for thread management are essential. This class goes a long way in providing this knowledge. Five stars for content.