This course will have two midterm examiniations and one final examination. The final exam will be cumulative.
The review set is meant to give you questions indicative of those that will appear on the midterm exam. These are not graded and are meant to be a structured system to evaluate your mastery of the material in preparation for the written exams.
You are allowed to bring one sheet of paper notes (one page, 8.5x11", both sides). You can print whatever you like on it. These exams are not open book. You may not use any electronic devices.
Exam 1 covers all material references in class or on the course website before the date of the exam. This will include topics such as COOL syntax, regular langauges, regular expressions, finite automata, context-free grammars, grammars, ambiguity, and various forms of parsing. Additionally, this may include material from PA1 through PA3.
Exam 2 covers all material referenced in class or on the course website since the first exam. This will include topics such as semantic analysis, COOL typechecking, inference rules, runtime organization, code generation, control flow analysis, and computer organization. Additionally, this may include material from PA4 and PA5.