The best courses I have taken. I have some prior experience but that is very rusty and definitely not as extensive as the topics in this course.
The professor has a very clear way of explaining the topics. There is hardly any repetition and a good balance of proving and not proving concepts using math.
The best aspect about this course are the exercises. They are a valuable learning tool in themselves. Most exercises use sub answers and the problem often progresses to a more complex problem yielding in depth understanding of the material.
Many exercises can only be submitted once or twice which keeps me alert while learning and applying the knowledge. I consider this a good thing, but not everyone agrees on that. The Professor and TA's do an excellent job replying in the exercise forums where needed with the focus on increasing understanding.
It is a difficult course. Most people put in more than 12 hours per week. The fora show both grateful students because of the rigor and depth of the course and on the other side of the spectrum complaints about the amount work, it being too much for people with a full time job and family.
It starts of easy, but workload and complexity increase over time.
I highly recommended this one, but make sure you allot some time to keep up.