Assignment 6 of the Stanford CS193P Course