Final Exam: Notes

The final exam will be given in the usual class time and place on Tuesday, May 12. Open book, open notes.

The exam will cover the programming languages C++, Java, Ada, Scheme, and ML, and the theoretical material discussed in class. I will not ask about any other programming languages. I do not expect you to know minutiae or obscure features of these programming languages. I do expect you to know the important features. I expect you to be able to read, modify or correct, and write code in all these languages; again, I will not deduct for small errors.

Note: The exam will be rather long. Therefore it is EXTREMELY IMPORTANT to use GOOD TEST TAKING STRATEGY. That is, first answer the problems that you can answer easily and quickly, and then go to the problems that are going to take you more work. Do not waste a lot of time at the beginning trying to figure out a problem that you find difficult. The answers do not have to be in order in your exam booklet.


The following issues were discussed in class but will not be on the exam: Complex generic type descriptors (e.g. < T super ...> or < T extends ...>) in Java, free variables in closures, user-defined types in ML, Prolog.