The book uses Java — a powerful, general-purpose computer programming language. But Java’s
subtleties and eccentricities aren’t the book’s main focus. Instead, this book emphasizes a process —
the process of creating instructions for a computer to follow. Many highfalutin books describe the
mechanics of this process — the rules, the conventions, and the formalisms. But those other books
aren’t written for real people. Those books don’t take you from where you are to where you want to
In this book, I assume very little about your experience with computers. As you read each section, you
get to see inside my head. You see the problems that I face, the things that I think, and the solutions that
I find. Some problems are the kind that I remember facing when I was a novice; other problems are the
kind that I face as an expert. I help you understand, I help you visualize, and I help you create solutions
on your own. I even get to tell a few funny stories.