With lucid explanations of the concepts, working programming examples, and end-of-chapter exercises, this book begins with the basics and steadily builds the pace helping the reader progress to advanced topics by the end of the book. -- Edited