Nicolai Kalisch
He's very smart & knowledgeable; he can answer any question about programming. But, his lectures can be hard to follow sometimes, as he tends to explain the concepts in a very abstract & technical way. Overall, if you speak up about what you don't understand & follow his feedback, you'll succeed. He's very open and approachable during lab hours.