In the first part of the book, students and researchers will discover the quantitative and analytical tools necessary to work with complex networks, including the most basic concepts in network and graph theory, linear and matrix algebra, as well as the physical concepts most frequently used for studying networks. They will also find instruction on some key skills such as how to proof analytic results and how to manipulate empirical network data. The bulk of the text is focused on instructing readers on the most useful tools for modern practitioners of network theory. These include degree distributions, random networks, network fragments, centrality measures, clusters and communities, communicability, and local and global properties of networks. The combination of theory, example and method that are presented in this text, should ready the student to conduct their own analysis of networks with confidence and allow teachers to select appropriate examples and problems to teach this subject in the classroom.