The campus map shows locations of all rooms.

The exam is closed note, except for:

Topics Covered

The exam will cover all course topics through Chapter 2.9 of 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), and implementing classes and objects (2.6).

Particular emphasis will be given to mutable data, object-oriented programming, recursion, and recursive data (such as linked lists and trees).

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.


The best way to study for the midterm is to do as many practice problems as you can. The course staff has put together the following resources:

There will be two TA-led review sessions on Sunday, 10/18 - 6-7:30pm and 7:30pm-9pm. PM in 155 Dwinelle. The slides will be posted to Piazza after the session. Both will cover the same material so please only attend one.

Eta Kappa Nu (the EECS honors society) will also be hosting a unofficial review session on Sunday, 10/18 12-3pm in 145 Dwinelle.

Make-Up Exam

Please fill out the alternate exam request form by Friday 10/16 @ 11:59pm. Expect an email confirming your alternate time by Monday 10/19.

If you are a DSP student, you will be contacted by Max Wolffe by Friday 10/16.