Trees, Graphs and Networks are fundamental data structures that underlie much of the recent developments in data science and computer science algorithms. Technologies and Applications like Social Networks, Cloud and Distributed computing, Cryptocurrencies and Traffic Routing and directions all rely on the proper use of graph concepts.

In this course we will build, step by step, a mini toolkit of network representations and algorithms that will allow students to understand the fundamental ideas and concepts that lie at the base of state of art algorithms (such as PageRank and recommendation systems), technologies (such as graph databases) and tools (like web crawlers).


  • Networks and Graphs

    • Graph Theory

    • Network and Graph examples

    • Types of Graphs

    • Tree and Graph Representations 

  • Graph Properties

    • Degree distributions

    • Nearest Neighbors

    • Weight distributions

    • Degree and Weight Correlations

  • Graph Algorithms

    • Paths and walks on Graphs

    • Epidemic and Viral Spreading

    • Graph sampling

    • Shortest paths and Maximum Spanning Trees

    • Graph diameter and Friendship Paradox

    • Random Walks and Markov Chains

  • Applications to Empirical Networks

    • Temporal networks

    • Multi-layer networks

    • Bipartite networks and Recommender Systems

    • Graphs and Optimization