Midterm 1 Exam

The exam will be from 8-10:10 PM Thursday, September 14.

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 Wednesday night before the exam. If you arrive late or go to the wrong room, you will not be given additional time.

If you do not receive your seating assignment by Thursday 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 one sheet of notes (front and back) that you create yourself. This sheet must be handwritten and you may not share it with anyone else. The purpose of these restrictions is to provide an additional opportunity for you to practice since many students have remarked that the process of compiling a note sheet helped them greatly when studying for the exam.

The Midterm 1 Study Guide will also be provided along with the exam. Familiarize yourself with the study guide 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

You are responsible for the sum total of human knowledge from the beginning of recorded history, with particular emphasis on the content of this course. Historically, we don't really have time for much other than course content.

We are reasonable, of course: you can expect that the exam will cover all course topics Chapter 1 of Composing Programs, except for Newton's method (1.6.5) and decorators (1.6.9). This includes all content up to Friday's lecture on Tree Recursion.

Particular emphasis will be given to user-defined functions, assignment, iteration, higher-order functions, recursion, and environment diagrams. (The most challenging recursion questions don't appear until Midterm 2.)

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.

Study Guides

Past Exams

Topics covered and exam format are not necessarily indicative of the exam.

Lab and Discussion

Lab 3 will be held as usual and covers recursion. 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 as it contains exam review material.

There will be no discussion next week. Some TAs may host optional review sessions during their regular section times. They will send an email to you if they plan on organizing a review activity during their regular discussion section time.

Midterm 1 Review Guerrilla Section

7-8:30 PM Friday, September 8 in 145 Dwinelle and A1 Hearst Annex

The course staff and Computer Science Mentors are teaming up to create a intense, rapid-learning environment called a guerrilla section. Unlike lecture-format review sessions, in a guerrilla section, you'll solve problems first as much as you can on your own, and then share your approach and ideas with other students.

HKN Midterm 1 Review Session

6-8 PM Sunday, September 10 in 306 Soda

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

CSM Midterm 1 Review Session

8-10 PM Sunday, September 10 in A1 Hearst Annex

The format will be slides reviewing the concepts, followed by example questions. We will be going over the following topics, in this order:

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, you should have already received an email. We will send you a confirmation email on Wednesday with room assignments.

If you have any other conflicts, please email cs61a@berkeley.edu.