Working through How to Design Programs