Andy Yao
It's all online and you get multiple attempts for the homeworks. Most of the class is easy but the exams and project are challenging, make sure you understand the notes before you do them. I took him for 320 and 341 and would definitely take again.