Time and Place

The exam will be from 3–5 pm Wednesday, July 11 in 2050 Valley Life Sciences Building, our regular lecture time and room.

Please arrive by 3:00 pm sharp. We will start promptly at 3:10 pm and finish after 80 minutes. If you arrive late, you will not be given additional time.

After the exam is over, we will hold an optional post-exam review and clarification session to answer any lingering questions you might have about the course content until the end of the scheduled lecture time. We’ll pass out any extra copies of the exam we have on hand for you to work in groups and resolve your questions with the help of the lab staff. You’re welcome to discuss the exam after it is over.

Students who complete the exam early may turn in their exam and leave the room. They are welcome to return to the room to join the post-exam review activity after all exams have been collected at around 4:40 pm.


The exam is closed book, closed notes (except for two sheets of notes), closed computer, and closed calculator. You may not use any electronic devices.

The only required materials for this exam are:

  • A writing utensil, preferably a dark pencil or erasable pen.
  • Your UC Berkeley student ID.
  • Two handwritten, double-sided sheets of notes that you create for yourself.

Please familiarize yourself with all the policies and required information listed on the front page of the exam.

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

If you don’t have a UC Berkeley student ID, bring valid, government-issued identification such as a passport.


You are responsible for the sum total of human knowledge since the beginning of recorded history with particular emphasis on the contents of this course.

Inspired by the great Paul Hilfinger tradition, exams may cover any material whatsoever. For fear of our lives, exams will almost exclusively test material covered in the course up to and including lab on Tuesday.

Particular emphasis will be placed on material from after midterm exam 1 which includes runtime analysis, abstract data types, inheritance and polymorphism, higher-order functions and streams, exceptions, iteration, algorithms, and design.

This exam will be shorter than past exams.


The best way to study for the exam is to work through practice problems and discuss your solution process with others. The course staff has put together their recommended resources and past exams on the Resources page.

If you have any questions about course content or material from past exams, ask in lab and discuss with other students and lab assistants. Often, the best way to learn is to hear it from another student who also just recently learned the material and knows exactly what’s difficult to understand.

If you have a study process that worked well in CS 61A, we recommend sticking with that. Otherwise, Josh Hug has also detailed a more in-depth Exam Studying Guide that we also highly recommend. Each lab assistant also has their own past experience with taking exams from this course, so you’re more than welcome to ask them for advice in addition to course content.

Since the three-exam system is a bit new this summer, and we’ve changed the order of topics significantly, we thought it would be helpful for students to receive a list of exactly which questions from past exams are in scope, and which questions contain material we have not yet covered or are no longer part of the curriculum.

Past Exam Questions

We surveyed midterm 1 and midterm 2 exams from Summer 2016, 2017, as well as Spring 2015, 2016, 2017, 2018. This is only meant to be a rough guide and isn’t exhaustive. You’re still officially responsible for the “sum total of human knowledge”.

New questions have been bolded.

Spring 2015 Midterm 1 (Solution)

Spring 2015 Midterm 2 (Solution)

Spring 2016 Midterm 1 (Solution)

Spring 2016 Midterm 2 (Solution)

Summer 2016 Midterm 1 (Solution)

Summer 2016 Midterm 2 (Solution)

Spring 2017 Midterm 1 (Solution)

Spring 2017 Midterm 2 (Solution)

Summer 2017 Midterm 1 (Solution)

Summer 2017 Midterm 2 (Solution)

Spring 2018 Midterm 1 (Solution)

Spring 2018 Midterm 2 (Solution)

Alternate Exams

There will be no alternate exams. If you miss an exam, your score will be reweighted with your performance on the final exam. See the exam supersession policy for more information.

Students with disabilities that require alternate exam timing will be honored, so long as you can make a time that overlaps the official time. DSP students with exam accommodations will receive an email confirmation a few days prior to the exam. If you do not receive your seating assignment by Wednesday morning, please make a private post on Piazza to let us know. If you have a disability that prevents your ability to make such a time, email cs61bl@berkeley.edu to discuss arrangements with us directly.

If you are traveling on official UC business, and have a proctor available, we will allow remote exams to be taken at the same time as the official exam.


If you need to use the restroom, bring your phone, student ID, and exam to a proctor. Restrooms are outside the side doors and down the hall.

If you have a question, please read the announcements that will be displayed on the screen first. If your question has not been answered, raise your hand and a staff member will assist you. We will not answer your question directly. If we decide that the question requires clarification, we’ll add it to the screen so everyone can see the clarification. (We will not respond to questions whose answer would give away the solution.)

If you need more scratch paper, raise your hand to let us know.

When there are 10 minutes left in the exam, we will not accept any more questions. At this point, students will not be allowed to leave their seats even if they’ve finished early.

In the event that we have difficulty identifying a student in the roster, we will record as much identifying information as needed, including photo or video evidence.