March 13, 2017

The CS106X Final is Monday March 20th from 8:30am to 11:30am. If you require OAE accommodations, you should email Aaron by Wednesday, March 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 will be in Herrin T175.

The exam is open book, open notes, closed computer.

The final covers the material presented in class from the start of class through the lecture on Friday, December 2nd. Specifically you will be responsible for:

- Functions and Pass by Reference
- Use of Collections
- Recursion
- Recursive Exploration and Backtracking
- Big O
- Pointers
- Classes and Structs
- Linked Lists
- Hashing
- Trees
- Collections Implementations
- Graphs
- 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 complete list of all CS106X library functions you may find useful on the exam and a handout on exam strategies:

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.