Felix Amoruwa
As others have mentioned, if you don't know Java, do NOT take it. I already had over a year of experience but I struggled with his extremely vague guidelines for labs. Be prepared to come to office hours whenever possible, but many times he doesn't even show. Strict grader for labs, but seemingly very lenient for midterm and final (which are hard).