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.
Change is not a destination just as hope is not a strategy.
There are many qualities that make a great leader. But having strong beliefs...
You do have to change things as warfare changes.