Daniel Okamoto
He is very good at teaching some topics and pretty bad at teaching others so you really have to read the book for everything. His exams are a bit too difficult for the way he teaches. Gives a decent amount of extra credit