Assignment one for Principles & Applications of Programming