MIT 6.006 exercises