If you take compiler construction, You should take this professor. The diagram rating is completely wrong. He is not hard. Class: The class is project-based grading. Projects grade is 55% of the total grade. So if you can do the project, you can pass the class. Not only that, if you can do the project, you can do the midterm and the final, because they base on the projects. Project: the class requisite is that you took cs 131, but you can get in cs 132 even if you don't. The only thing you need to know from cs 131 is how to program in Java. The project is Java project, not C/C++ project. Get to know Java before enter the class. Also, the compiler breaks down to completely independent projects. Also, the thing you need to remember from CS 181 is PDA (not your typical hand-held PDA) but Pushdown automata; and how actually to code a PDA for first project. For other projects, you need to know visitor pattern and tree data structure. He goes over that briefly in class. 4 things you need to know before taking the class is to get A in the class. + Java (coding and how to invoke Java build in terminal) + PDA + Visitor Pattern + Tree data structure Professor: He is very nice, you can reach him through email. He is very responsive through email. You has plenty of time for project, BUT don't wait till last moment.