CS 421: Programming Languages and Compilers
Midterm
Date: Thursday, July 2
Time: 11:30am - 12:45pm (on-campus)
Location: 1304 SC (on-campus)

Topics:
Please look at the link "Syllabus and study guide for Midterm". Also, the Spring 2009 and Summer 2008 midterms are close, but not identical, in content to this semester's midterm. Sample exam questions, and solutions to them, are also provided. I would recommend going over the old exams first to get familiar with the format and types of questions, then work through the sample questions before looking at the solutions.

Again, the other exams are provided in case they are useful, but the coverage doesn't match ours exactly. They will have some material that we haven't covered -- just ignore those parts.

Sample Problems:
Some sample problems have been posted in the study guide -- look to the right.

Rules
The exam is closed-book, closed-notes. You may not talk to other students for any reason during the exam. If you have a question, ask the proctor(s). Only pens, pencils, and erasers are allowed -- all else must be put away before taking the test. Scratch paper is provided with the test.
Solutions
Exam solutions are posted on the right.

Final
Date: Saturday, August 8 (I2CS: Friday, August 7)
Time: 1:00pm - 3:00pm
Location: 1105 SC

Topics:
Please look at the link "Syllabus and study guide for final exam". Also, review all the sample exams, midterms and finals; even those with slightly different coverage should have enough material that we have covered that they will provide you with good practice. Since the final is comprehensive, you should look at the study guides for both the final and the midterm, since material from both study guides will be on the test (I have not included material from the midterm study guide in the final study guide, even if it will be on the test, so the final study guide only lists material not covered on the midterm.)

Sample Problems:
Some sample problems have been posted - look for study guides to the right. Note: make the following changes for sample problems and exam solutions: (1) "dynamic semantics" is similar to our OSclo, which you can use instead. (2) You will only need to prove termination of imperative programs, but recursive funcitonal programs can be used with a similar method. (3) Skip Q15 on the sample final. (4) Feel free to use Java instead of C++ for Q17 of the sample final.

Rules
The exam is closed-book, closed-notes. You may not talk to other students for any reason during the exam. If you have a question, ask the proctor(s). Only pens, pencils, and erasers are allowed -- all else must be put away before taking the test. Scratch paper is provided with the test. Type system and semantics rules will be provided if needed -- no need to memorize them; however, you should know the Hoare logic rules.

Study Guides