Midterm 2 Exam

The exam will be from 8-10:10 PM Tuesday, March 19th.

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 Sunday night before the exam.

If you do not receive your seating assignment by Monday 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. You are, however, allowed to bring two sheets of notes (front and back) that you create yourself. This sheet must be handwritten, and you must write it yourself. Aside from your handwritten sheet of notes, the exam is closed book, closed notes, closed computer, and closed calculator. You may not use any electronic devices.

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.

There will also be no scratch paper provided; however, there will be enough blank space provided in the exams for scratch work.

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), and propagating constraints (2.4.13). The exam covers all lecture content up to Monday's lecture on Data Examples.

Particular emphasis will be given to recursion, 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.

HKN Midterm 2 Review Session

3-6 PM Sunday, March 17 in HP Auditorium

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

CSM Midterm 2 Review Session

1-3 PM Saturday, March 16 in Hearst Field Annex A1

The format will be slides reviewing the concepts, followed by example questions.

Office Hours and Lab

There will still be lab next week 3/18-3/19 (however there will be no checkoff and solutions will be released for the lab ahead of time for you to study with). Wednesday labs are cancelled.

Normal office hours next week (3/19-3/22) will be cancelled. Instead, please bring your office hours or midterm questions to any of the labs (Monday 3:30 PM - 6:30 PM, Tuesday 9:30 AM - 6:30 PM).

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.

As stated in the policies, we will not be giving alternate exams for any other reason. If you are unable to attend the exam, your final exam score will be used to clobber your Midterm 2 exam score. (you do not need approval to do this)