It is one of the best series of programming lectures I have ever learned. It is formed by a set of courses created by Prof. Odersky and his team. It also covers most aspects of Scala programming. Moreover contains a brief introduction to Spark. The final project and programming assignments showcase industrial applications of many known algorithms.
The lectures serve as a fantastic introduction to functional programming. It demonstrates imperative/oop and functional solutions of the same problem side by side to enhance an overall understanding of programming paradigms.
The series is focused on a combination of the most powerful techniques from object-oriented and functional programming. It also describes multiple advanced aspects of object-oriented programming.
The courses are available on Coursera