I'm currently working through the beginning AMP book, and was really hoping somebody here might be able to point me to a resource I'm looking for.
My programming teacher in high school taught in the following format:
Introduce various functions of code (if/else, do/while, variables, constants, arrays, etc).
We would spend a few weeks working on all the various functions. Once we covered a select number of them, he would give us a piece of code that was very long & inefficient, then ask us to utilize our new skills to re-code the program to run more efficiently. It was a way to take a real, working program, and learn how to produce the same results in an efficient manner.
I absolutely loved that style of teaching, and long for it now that I'm returning many years later to programming. I know this is a shot in the dark, but I thought I'd see if there is anything like that in the "real world" to help people learn.