Best CS professor I've had at USC. Lectures are actually worth going to (a rarity for CS) w/ the many examples and walk-throughs. It's very easy to reach him outside of class as he's always on piazza. There's clear grading criteria for every assignment + OH are solid if you need help. There's plenty of practice for exams. And he rounds up grades!