The study of network theory is a highly interdisciplinary field, which has emerged as a major topic of interest in various disciplines ranging from physics and mathematics, to biology and sociology. This book promotes the diverse nature of the study of complex networks by balancing the needs of students from very different backgrounds. It references the most commonly used concepts in network theory, provides examples of their applications in solving practical problems, and clear indications on how to analyse their results. 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.