Programming assignments 2 and 3