The objective of the course is to offer a broad introduction to the theory and algorithms of complex networks. Upon completion the student should be able to:
1. be familiar with the different types of networks such as technological, social, biological and information networks.
2. be knowledgeable about the fundamental network theory, such as graph theoretical concepts, measures of importance and metrics and large-scale structural characteristics of networks.
3. apply basic network related algorithms such as shortest paths and search, maximum flows, partitioning, community detection and spectral methods.
4. be familiar with various random graph models and their characteristics, as well as models for network formation and processes on networks.
Course Content (Syllabus)
- Real life networks, technological, biological, social and networks of information.
- Graph theory concepts, degree sequences, weighted and directed graphs, trees, connectivity, duality, paths, hypergraphs, signed graphs.
- Node centrality measures and metrics, degree centrality, PageRank, closeness and betweenness, distance, network diameter, hubs.
- Structural properties, large-scale networks, giant components, degree distributions, power law and scale-free networks, clustering coefficient.
- Network algorithms, data structures for network representation, shortest paths, flows, graph partitioning, community detection.
- Network models, random graphs, Erdos-Renyi model, power-law degree distribution, Barabasi-Albert model for network formation, small-world model.
- Processes on networks, percolation, epidemics and spread of information, dynamics in networks.
- Visualization, algorithms, graph formats and repositories, packages and libraries.