The exam is closed note, except for:

You will write your answers on the exam itself. Scratch paper will be provided.

Please bring your Cal student ID.

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 work through practice problems. The course staff has put together the following resources:

The CS 61A course staff is hosting two events over the weekend:

Eta Kappa Nu (the EECS honors society) will also be hosting a unofficial review session on Saturday, 10/15 5-8pm in 2050 VLSB.

Make-Up Exam

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

If you are a DSP student, you should have received an email from Kelly Liu. If you haven’t, please shoot her an email (