CS277 course project