David Lemmon
He is an awesome teacher and although sometimes it can be hard to listen to someone talk nonstop for an hour or two, he explains things in so many different ways so if you don't understand something the first time you'll probably understand the next time it's brought up. I suggest taking more extensive notes than he does.