CS 1666 Final Review