Assignment 2 of Stanford's CS 106a