Assignment 4 and 5 on CS193P