Minwoo Lee
Lots of lecture, but sometimes hard to understand. No tests, but 5 programming assignments and 1 group project. He'll give you a decent grade on programming assignments even if you do them completely wrong, but take the time to explain everything you did and why you think it didn't work.