Midterm 2 Exam

The exam will be from 8-10:10 PM Wednesday, October 17th.

Please arrive by 8:00 PM. We will start promptly at 8:10 PM.

The midterm exam will be held at many locations across campus. We will email your room and seating assignment for the exam to your CalCentral email address Tuesday night before the exam.

If you do not receive your seating assignment by Wednesday morning, please make a private post on Piazza to let us know.


You do not need to bring anything except for a writing utensil and UC Berkeley student ID. The exam is closed book, closed notes, closed computer, and closed calculator. You may not use any electronic devices.

You are, however, allowed to bring two sheets of notes (front and back) that you create yourself. These sheets must be handwritten, and you must write them yourself.

Both the Midterm 1 Study Guide and the Midterm 2 Study Guide will also be provided along with the exam. Familiarize yourself with the study guides so you know where to find information and how to apply each rule during the exam.

Scratch paper will be provided, but we will not grade your scratch work. You will write your answers on the exam itself.

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.11), dispatch dictionaries (2.4.12), propagating constraints (2.4.13), and implementing classes and objects (2.6). The exam covers all lecture content up to Friday's lecture on Tree Sets.

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

You should know how to draw an environment diagram by hand that includes lists, but you will not be tested on diagrams that include dictionaries, generator functions, list comprehensions, or user-defined classes.


The best way to study for the midterm is to work through practice problems. The course staff has put together the following resources.

Past Exams

See resources page for past exams, solutions, and video walkthroughs.

Lab and Discussion

Lab 8 will be held as usual and covers linked lists and orders of growth. There will be no lab check-off next week, so you do not need to attend in person, but we highly recommend completing the lab before the midterm.

There will be no discussion next week.

HKN Midterm 2 Review Session

12-3 PM Saturday, October 13 in HP Auditorium

The format will be slides reviewing the concepts, followed by example questions. See https://piazza.com/class/jkjt85cc6fc4jx?cid=1302.

Seating Request

We will use your seating request from Midterm 1 unless you email cs61a@berkeley.edu to tell us that something has changed.


If you have DSP accommodations, you will receive an email to schedule your exam.

If you have any other conflicts, please email cs61a@berkeley.edu. As stated in the policies, we will not be giving alternate exams for any other reason, but if you have a valid excuse, we will excuse you from the exam and use only your Midterm 1 and Final Exam scores to give you a final course grade.