A First Course in Network Science

Edition: 1

Publication year: 2020

ISBN: 9781108471138

Buy: Amazon Cambridge University Press



Subject Areas


Networks pervade all aspects of our lives: networks of friends, communication, computers, the Web, and transportation are examples we experience daily, while networks in our brain and cells determine our very survival. The network is a general yet powerful way to represent and study simple and complex relationships. Today, a basic understanding of network processes is required in job sectors from marketing to technology, from management to design, and from biology to the arts and humanities. This textbook is designed to introduces networks to a broad audience of undergraduate students from informatics, business, computer science and engineering, information science, biology, physics, statistics, and social sciences. After surveying networks in many areas, the book talks about the properties of social networks and the key role of hubs. Directed and weighted networks are discussed using the Web and the spread of information and misinformation in social media as case studies. The final chapters cover the more advanced topics of networks models, communities, and dynamics. No technical mathematical or programming background is required, making the book feasible for introductory courses at any level, including network literacy and programming literacy courses. However, the book includes optional technical sections for more advanced students. Programming tutorials, exercises, and datasets allow readers to gain and test their understanding through hands-on activities for building and analyzing networks.

Table of Contents

  1. Introduction

  2. Basic Elements (Chapter 1 Tutorial)

  3. Small Worlds (Chapter 2 Tutorial)

  4. Hubs (Chapter 3 Tutorial)

  5. Direction & Weights (Chapter 4 Tutorial)

  6. Network Models (Chapter 5 Tutorial)

  7. Communities (Chapter 6 Tutorial)

  8. Dynamics (Chapter 7 Tutorial)

Appendix A - Python Tutorial

Appendix B - NetLogo



A Note about Python, Tutorials, and Jupyter Notebooks

Our tutorials use Python and NetworkX. They are in the form of Jupyter Notebooks. To load, view, and run these tutorials, you can follow one or both of two approaches:

  1. There are several free services to run Jupyter notebooks in the cloud at the time of this writing, including:
  2. If you wish to run Python locally on your laptop, and don’t have Jupyter/IPython installed on your machine, we recommend installing the Anaconda Python distribution with Python 3. This option requires that you are comfortable with managing software packages (i.e., using pip or conda).

Be warned: each cloud-based notebook service has pros and cons and we cannot test them all extensively, so your mileage may vary. You may have to try more than one solution, read documentation, and/or seek support from the providers to install packages. Local Python installations can present issues, especially on Windows machines. Packages are system dependent. In all cases, we are unable to provide support.

Additional Teaching Resources