Here's the introduction section of one of my tutorials
The Iterator is a fundamental control structure, analogous to the loop
What problems does it solve?
When should you use it?
How do you build one?
Generating DNA sequences
Directory tree walker
This is all the introduction you should need
That list of examples was very carefully constructed