Com S 342 --- Principles of Programming Languages EXERCISE 09: EXAM 2 REVIEW (File $Date: 2005/02/21 00:06:50 $) The purpose of this exercise is for you to study and review the topics for the second exam, including the very important topic of writing recursive programs. As with all exercises, this is to be done individually. And it is due the day this topic is planned to be discussed in class, unless specified otherwise (see the syllabus at: http://www.cs.iastate.edu/~cs342/syllabus.shtml). We expect this to help you think about the readings (see below). If you don't have an answer or an answer that you think is good, write down what you read, and a question or two that would have helped you make progress. Then you can ask that question in class; there will be other people with the same problem, and everyone can learn by discussing these issues. And you'll most likely see similar things on the homework, so it's best to understand them now. READINGS: The readings for the exam that are most important are as follows. - A general aid to the topics on this exam is the course's Code Examples Page, http://www.cs.iastate.edu/~cs342/code-examples.shtml - The Following the grammar handout http://www.cs.iastate.edu/~cs342/docs/follow-grammar.pdf - Essentials Of Programming Languages, Sections 1.1-1.2 - The Little Schemer, Chapters 2-5 (especially chapters 3-4) 1. [Exam review] Look at the topics for the second exam, in $PUB/exam-study-guides/exam2-topics.txt which is also available from the course web page http://www.cs.iastate.edu/~cs342/exam-study-guides/exam2-topics.txt From these topics, write down one question or problem that you'd most like to see discussed in the discussion section review time. WHAT TO HAND IN You should have at the beginning of class, written answers to the above questions (or written out questions and problems you encountered for each part). Make sure your name is on these. Attach the printouts, if any, requested above. IF YOU HAVE MORE TIME If you have more time you could look at the following. - Structure And Interpretation Of Computer Programs, Sections 1.2.1 1.3, and 1.1.6, see http://mitpress.mit.edu/sicp/full-text/book/ - Revised^5 Report On The Algorithmic Language Scheme, Section 4.2 Also, if you have time, there are other old exams available from the course exams web page. However, many of these concentrate on the sym-exp and s-list grammar, which is somewhat more confusing than others. For this reason you may be better off doing the rest of homework 5, which is also excellent practice.