The CS106B Midterm is Thursday, May 4th from 7pm to 9pm.

The exam will be in two rooms, based on last name:
Last name: A - N: Hewlett 200:

Last name: O - Z: 420-040:

The exam is closed book, closed notes, closed computer (unless using the computer for the exam, and the computer may only be used for the exam). You are allowed a 1-page, back-and-front sheet of notes for the exam, and you are also allowed the reference sheet below.

Thur, May 4
Hewlett 200 (A-N) and 420-040 (O-Z)
Midterm Review Session
Mon, May 1st
Room 420-040


The midterm covers the material presented in class through the lecture on Friday, April 28th. Specifically you will be responsible for:

  1. Functions and Pass by Reference
  2. Big O
  3. Use of Collections (Maps, Sets, Stacks, Queues, Vectors and Grids)
  4. Recursion (Definition and Fractals)
  5. Recursive Exploration and Backtracking
  6. Sorting
  7. Memoization

The bulk of the midterm will be build on the concepts you covered in the assignments you have completed up to this point in the course (Life, WordLadder/Ngrams/Cipher, Recursion, Backtracking).

We put together handouts on the topics which we will expect you to know:


Exams are exciting, and a good chance to learn. Sometimes they can feel competitive. Remember though that in the long term you aren't competing against the other people in the classroom. In fact they will probably be your team mates in the post Stanford world. The only race is with yourself. We don't curve the exam. If everyone does a great job of demonstrating that they understand the material, everyone will get a better grade.

Here is a printable handout with a complete list of all CS106B library functions you may find useful on the exam and a handout on exam strategies: