This book intends to introduce students studying computer or information sciences to the fundamentals of graph theory.

The book also seeks to provide an introduction to the contemporary subject of network science, in order to inspire students and demonstrate that even these fundamental ideas can be very beneficial.

For students, math is frequently needlessly challenging and maybe even terrifying. To emphasize that the notations, not the mathematical concepts themselves, are the main barrier, special emphasis is placed on mathematical notations and proof methods in the opening chapters. This method enables students to be gradually prepared for using the tools required to apply graph theory: intricate networks.

The second section of the book introduces the reader to social networks, peer-to-peer systems, small worlds, random networks, and the architecture of the Internet and the Web.

Again, everything is covered at a basic level, but in a way that leaves students with the impression that they: 1. Know how to read and comprehend the fundamental mathematics relating to graph theory. 2. Recognize how fundamental graph theory can be used to solve optimization issues like routing in communication networks. 3. Gain a better understanding of this occasionally enigmatic area of tiny worlds and haphazard networks.