I am a GIS student who's also gone through most of a computer science degree and so I know Visual Basic and lots of other kinds of programming, but going through this book is one of the more tedious and confusing things I've done. Granted, MapObjects is a fairly large library and object set, but the author makes it worse in several ways. First, he deliberately gives you code in some places that doesn't work, only to correct it later on. This may be an admirable attempt to get you to learn it and think it through, but it just doesn't work - it's too large a set of objects and methods to keep track of, so trying to keep track of things which aren't even supposed to work makes it worse. Furthermore, in several places he does this, he changes some parts of the code, but forgets to change other parts that the original changes make neccessary to change, and one is left with a confusing mish-mash of partially edited code that doesn't look like the pictures in the book and doesn't always work. It is almost as if the author himself can't keep track of what's going on. Finally, his explanatory method of writing down large chunks of code with *short* descriptions afterwards doesn't really help. It would have been much better if he explained each component one-by-one, possibly even isolating them from other components where possible, and also made the code as simple as possible *without* having the deliberate errors. When you're learning something as complicated as this, the smaller the chunks, the better - and it's really nice to have code that works and runs right from the start so you can really see how it works (instead of not being able to see how it works due to deliberate errors).