The CS106B Final is Saturday, August 19th from 8:30am to 11:30am. If you require OAE accommodations, you should email Jason by Tuesday, August 15th at 5pm with your availability and the accommodations you require. If you haven't already sent him your OAE documentation, please attach that to the email.

The exam location is in Dinkelspiel Auditorium:

The exam is closed book, closed computer (unless using BlueBook), and students will be allowed the one page (back/front) reference sheet provided below plus an additional one page (back/front) set of personal notes. You are allowed to annotate the reference sheet if you want (see the sheet below).

Sat, Aug 19th


The final covers the material presented in class from the start of class through the lecture on Tuesday, August 16th. Specifically you will be responsible for:

  1. Functions and Pass by Reference
  2. Use of Collections
  3. Recursion
  4. Recursive Exploration and Backtracking
  5. Big O
  6. Sorting, to include Insertion Sort, Selection Sort, Merge Sort, and Quicksort.
  7. Pointers
  8. Classes and Structs
  9. Linked Lists
  10. Heaps
  11. Trees
  12. Hashing
  13. Graphs
  14. Collections Implementations
  15. C++ Inheritance and Polymorphism

The bulk of the final will be built on the concepts you covered in the assignments, especially the concepts on the assignments starting from Boggle.

Here are some review materials for some of the concepts on the Final Exam. This isn't an exhaustive list (for example it doesn't cover linkedlists / trees or graphs). See the book for a review of all concepts:


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 list of CS106B library functions you may find useful on the exam and a handout on exam strategies:

Practice Finals

These practice finals are from previous classes, and do not necessarily represent the exact materials that will be covered on this quarter's exam. However, you may find them useful to study from and to practice with.

Practice #1, BlueBook

pw: positive
Crash Recovery pw (to see your answers): unlockexam

There is no better way to prepare for the final than a lot of practice. Make sure to work on problems without looking on the solution. It's much easier to verify that a correct solution works then it is to write it yourself.