David Zaretsky
Great guy, very knowledgeable and overall a great class for a CS major. Very lecture heavy and could be boring sometimes but then again it is dry content you're working with. Homework assignments steadily get harder so make sure you read/ look over the lecture notes.