Programming assignments 1-4