MIT MOOC 6.092 Assignment 4