Compilers (CSC-362 98F)

Review for Midterm Exam


You are responsible for all of the materials covered in the first eightteen classes this semester and in the first five chapters of Appel. Here are some of the highlights:

Preparing for the exam

How can you prepare yourself for the exam? There are a number of things that I recommend:


Contrary to the indication on the original syllabus, the exam will be a take-home exam. I will do my best to design it so that a student who is familiar with the material and with the readings will be able to do it in two hours. Given past experience, this suggests that it will take you about eight hours.

I will use an increasingly popular take-home format. You can choose when you receive the exam (any time starting with the end of class on Friday, October 10). You must return the exam to my office twenty-four hours after you receive it from me.

There will be approximately five sets of questions on the exam. A ``set of questions'' may be anything from one large question to a collection of small questions. It is likely that you will have to answer all of the questions on the exam. Note that I often (but not always) write questions in which I try to synthesize different topics you've learned. For example, I might ask you to write a regular expression and BNF grammar for the same language and to compare the two.


These policies (or a very similar set) will appear at the front of the exam.

This examination is open book, open notes, open mind, open computer, open web. Feel free to use any and all resources available to you except for other people. As always, you are expected to turn in your own work. If you find ideas in a book or on the web, be sure to cite them appropriately.

This is a take-home examination. It is likely to take you at least two hours. You must return it to my office twenty-four hours after you receive it.

Because different students will be taking the exam at different times, you are not permitted to discuss the exam with anyone until I have returned the graded exams. If you must say something about the exam, you are allowed to say ``This is definitely the hardest exam I have ever taken.''

Answer all of your questions in a blue book. If you would prefer to, you may write all of your answers on the computer and print them out at the end of class. If you write your answers in the blue book, you need not do the problems in order (but it would help me if you provided a table of contents). If you type your answers on the computer, please do them in order.

I will give partial credit for partially correct answers. You ensure the best possible grade for yourself by highlighting your answer and including a clear set of work that you used to derive the answer.

I may not be available during the exam. If you feel that a question is badly worded or impossible to answer, note the problem and attempt to reword the problem in such a way that it is answerable. If it's a reasonable hour (before 10pm and after 8am), feel free to try to call me in the office (269-4410) or at home (236-7445).

In some questions, you may be asked to write code. You should feel free to write pseudocode in any reasonable form (i.e., similar to any common language). Your pseudocode need not be "syntactically correct". However, it should be clear and should indicate to me that you would be able to write correct and working code (in some language) if you had sufficient time and inclination.


Disclaimer Often, these pages were created "on the fly" with little, if any, proofreading. Any or all of the information on the pages may be incorrect. Please contact me if you notice errors.

Source text last modified Mon Oct 5 11:55:12 1998.

This page generated on Mon Oct 5 12:04:10 1998 by SiteWeaver.

Contact our webmaster at