Exam 3 Study Guide
This guide doesn’t go much beyond my earlier instructions, which told you to study Lisp, and chapters 8 and 14 of the Sebesta book. But you can check this over to make sure you are studying the right things.
This will not be an open book exam. You will be given some [ Lisp reference material ] to use during the exam instead.
You should be able to translate simple algorithms into Lisp, be able to tell what Lisp will print for various input lines, be able to draw box and pointer diagrams, …
Parameter Passing Methods: Call by name, call by reference, call by value.
Know how parameters are passed in Java and C/C++. How is call by reference accomplished in C, which operates strictly with call by value? How are parameters passed in lisp? What happens if you declare a variable to be “special” in lisp? What are C++ templates, and what is the problem that they solve? (Generic subprograms.)
Linking separately-compiled modules in C/C++. The role of the linker, how symbols are resolved.
The only new item in here that you are responsible for is Lambda expressions. Don’t worry about Scheme, ML, or Haskell syntax. Concentrate on Common Lisp; use the other languages as reinforcements for concepts we have covered in Common Lisp.