Clearly programming courses should teach methods of design and construction and the selected examples should be such that a gradual development can be nicely demonstrated.