Yuanyuan Jiang
There's a bunch of HW assignments, but they aren't hard. Subsequent assignments tend to build on each other, so try not to miss any. Lectures are amazing. Class goes over basic compiler theory, python, F#/functional programming, and prolog