CS101 udacity notes