Time: 2 Hours
The exam is closed note, except for:
- A 1-page (front and back) hand written sheet of notes that you create yourself (it may not be shared).
- The Midterm 1, Midterm 2, and Final Study Guides. These study guides will be provided with your exam.
The exam will cover all course topics in Composing Programs, except for:
- Newton's method (1.6.5)
- Implementing lists & dictionaries (2.4.7)
- Dispatch dictionaries (2.4.8)
- Propagating constraints (2.4.9)
- Implementing classes and objects (2.6)
- Logic programming and unification (4.4, 4.5)
- Parallel computing (4.8)
Particular emphasis will be given to:
- Functions and environments
- Sequences, trees, and recursion
- Mutation and object-oriented programming
- Iterators, generators, and streams
- Scheme and SQL
You should be prepared to answer questions that relate closely to the projects and homework assignments (not including challenge problems). You should also know how to draw an environment diagram by hand.