Stanford CS193P - Assignment 1 and 2