Guozhen An
I love him, he is one of the best CS professors! I agree his classes are hard but he walks us through each step. You are guranteed atleast an A- in his class if you attend and follow along with him. If you just give up when you loose track then don't take him but if you are confident enough to ask questions then you are up for success. I got A+ :)