Most Introduction books are either too simplistic, leaving the reader unable to create any meaningful programs, or too difficult to understand. This book has several good examples, and flows from topic to topic better than others I have looked at. After this book you will be ready to progress to intermediate level books on objects, or on database programming.