Network science is an emerging field that focuses on the analysis of real-world complex systems arising in the social, biological, and physical sciences by abstracting them into networks (or graphs). The size and complexity of real networks has produced a deep change in the way that graphs are approached, and led to the development of new mathematical and computational tools. This course provides an introduction to network science by walking through modern techniques for modeling, analyzing, and simulating the structures and dynamics of complex networks. Specific topics to be discussed will include: network models and measures, graph algorithms, visualization and simulation, models of dynamic/adaptive networks, network modularity and community detection, and some applications. Python and NetworkX will be used for modeling and analysis of networks, in addition to other computational tools. Students should have a reasonable amount of experience in Python programming or willingness to learn "on the go." |