What programming language are you using expect with? The usual way is with TCL, in which case you should spend some time to learn how to be an effective TCL coder. Good for you TCL is a really quick language to learn, thanks to it's elegant and small syntax.
Expect has bindings to other languages, notably Perl, so you should choose whatever language you are most competent with.
I found the documentation for expect to be quite limited when I did some testing automation a few years back, but the reference was adequate. I do not still have the links I used back then, so I'd be starting with google, which you would be better to do yourself. There are some examples and tutorials floating about, but not enough IMO.
If you have some success using expect (and I do not doubt you will, since it is really amazingly useful), consider writing up a tutorial yourself. It will help the world!