Xuejun Liang
The content in compilers and C&I gets deep so you need to study hard. Be ready for video lectures, weekly homework sets, and a few programming assignments. The hard part is his two exams take 4 hours each. I don't see how anyone can complete the exam is the allotted class time. It's inconvenient if you have a class before/after this.