CS 421: Programming Languages and Compilers
Final exam (Exam) (Answer sheet)
Date: Wednesday, May 9
Time: 1:30am - 4:30pm
Location: 1404 SC and 269 Everitt (Students A-R: Siebel; S-Z: Everitt)
Problem session 1: Thursday, May 3, 2405 Siebel, 3-5pm
Problem session 2: Saturday, May 5, 2405 Siebel, 3-5pm
Review session: Sunday, May 6, 2405 Siebel, 7-9pm

Practice final, part 1 (updated 5/4, 11:30am); solution
Practice final, part 2 (updated 5/5, 9:00am); solution; video
Exercise solns for lecture 21 (Note: Do not study material after slide 12.)
Exercise solns for lecture 25
Exercise solns for lecture 26
Midterm 2 (Exam) (Answer sheet)
Date: Tuesday, April 10
Time: 9:30am - 10:45am
Location: 1404 SC and 151 Loomis (Students A-J: Loomis; K-Z: Siebel)
Review session: Monday, April 9, 1404 Siebel, 7-9pm
Exercise solns for lecture 11
In-class exercise solns (Several notes: These are all solutions from lectures 12-20. Many of the solutions are given in the MPs. There are exercises at the start labeled "SOS rules for objects in MiniJava (v.1)", which I regret having given and would like you to ignore. Finally, this does not include solutions for slides 8 and 14 of class 19; those will be posted separately.)
Solution for slides 8 and 14 of lecture 19
Midterm 2 from last year (solutions ) Relevant questions are 2, 3, 5, and parts of 8; ignore 1, 4, 6 and 7. (It is last year's even though it says 2010.)
MP9a from Spring 10 (ignore part 8) (solutions)
Relevant parts of Spring 10 midterm 2 (solutions)
Midterm 1 (Exam) (Answer sheet)
Date: Tuesday, Feb 21
Time: 9:30am - 10:45am
Location: 1404 SC and 151 Loomis (Students A-M: Siebel; N-Z: Loomis)

Midterm 1 from Spring 2010
Midterm 1 from Spring 2010 Solutions
Midterm 1 from Spring 2011 (Note: Question 8, part a, should be revised as follows: "Number the nodes in the tree in post-order (ignoring the annotations given there). You should be able to answer the rest of that question, and all other questions.
Midterm 1 from Spring 2011 Solutions
Additional practice questions (incl. several FIRST/FOLLOW examples) (solns)

In-class exercises and solns from this semester: lecture 1 (solns) lecture 2 (solns) lecture 3 (solns) lecture 4 (solns) lecture 5 (solns) lecture 6 (solns) lecture 7 (solns) lecture 8 (solns) lecture 9-10 (solns) lecture 10 supp (solns)

Mini-lesson (22 minutes) - FIRST and FOLLOW: video

Errata: Lecture 4, slide 5: see Piazza note 171

Errata: Lecture 9-10, slide 18: In flws_1, the entry for P should have just + (not eof).