To alleviate time pressure, you will have 2 hours and 50 minutes to complete the midterm. However, the midterm will still be roughly the same length as midterms in previous semesters, which were 2 hour exams.

Exam Materials

The exam is closed book, closed notes, closed computer, and closed calculator. You do not need to bring anything except for a writing utensil and a photo ID.

You are allowed to bring a 1-page (front and back) sheet of notes that you create yourself. This sheet may be handwritten or typed; the only restriction is that you may not share this sheet with anyone else.

In previous semesters, the staff provided a Midterm 1 study guide along with the exam. Most students find that this is not useful, so we will not provide it. However, you are welcome to transfer any information from the study guide that you think may be useful to your sheet of notes.

Because most previous semesters have had two midterms, parts of the Midterm 2 study guide may also be relevant for this midterm. Again, we will not provide it, but feel free to copy anything from the study guide to your sheet of notes.

Topics Covered

The exam will cover all course topics through Chapter 2.3, as well as Chapter 2.8, of Composing Programs, except for Newton's method (1.6.5), decorators (1.6.9), Measuring Efficiency (2.8.1), and Memoization (2.8.2). This should align with the first three weeks of lecture.

Particular emphasis will be given to user-defined functions, iteration, higher-order functions, recursion, 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 work through practice problems. The course staff has put together the following resources:

Review Session: There will be no lecture on Wednesday 7/13 or Thursday 7/14. Instead, there will be a TA-led review session on Wednesday in the normal lecture time and place (11-12:30 in 2050 VLSB).

Office Hours: Office Hours after 3 PM on Thursday and all Friday have been rescheduled to earlier in the week. See the office hours schedule for this week for the updated hours.

Sections: Discussion sections on Thursday and Friday this week have been cancelled. All other sections this week, including Thursday morning labs, will still be held as normal. Lab 7 will be an optional review lab.

Make-Up Exam

If you are scheduled to take the midterm at a different time and/or location, either because you have already requested an alternate time or you have DSP accommodations, we will send you a separate email with additional details.