If you are looking for ways to present programming, that is, structured
problem solving to students, you might read through the book Design
Patterns. Getting students away from the keyboard and getting them to
talk about why these algorithms work could be very instructive.