This book is designed to serve as a textbook for the students taking this subject. It is a book with a difference from other textbooks as it lays more emphasis on the conceptual concepts that are supported by illustrative examples, plenty of challenging theory and programming exercises, to test your knowledge acquired on the subject. While writing the book, special emphasis is given to keep the language very simple and lucid; level of presentation is kept simple and illustrative so that even an average reader can grasp the subject matter with quite ease. Practically this book will provide you every thing you need on the subject.