Social and Technological Networks

University of Edinburgh. Autumn 2019. Level: Year4/5/Msc/CDT.

Home Topics and Lectures Notes and Exercises Projects Last Year's page


Lecturer: Dr. Rik Sarkar

* Office Hours: Tuesdays 2pm - 2:45pm.


  1. Solutions to notes 1 and 2 are up.

  2. No Class or office hour on Oct 15, 18.

  3. Project plan submission instructions are up on Projects Page.

  4. Suggested project topics will be out on Oct 4.Check Email/piazza. See instructions at Projects Page.

  5. Piazza page is now up. You can create study groups!

  6. More information about coursework projects on the Projects page.

  7. Preliminary exercise problems are up. Please go through them.

  8. Classes start on September 17. See you there!

Introduction: The aim of the course is to learn computational and mathematical techniques for network analysis, and apply those ideas to real networks. We will also study some recent developments and research in this area.

Networks are present where there are complex relations within data. So not only social networks and computer networks, network analysis is now used for natural language processing, bioinformatics, and most other areas of data science. Thus, we will study how many types of data science translate into network analysis.

Relations to machine learning. We will study the close relations between foundations of statistical machine learning and network analysis. The course will cover the analogies between common machine learning ideas and similar ones network analysis that let us perform stronger machine learning in complex data.

The course has a small course project where you are free to try your creative ideas in data science and network analysis.

Preliminary Topic List

  1. Introduction: Motivation and overview the course
  2. Community detection & Clustering: unsupervised machine learning.
  3. Embedding of networks: representation learning and relations to machine learning
  4. Kernel methods of machine learning, and graph kernels.
  5. Metric spaces and networks. Creating networks from arbitrary data and using network analysis for data analytics.
  6. Pagerank, HITS & structure of the world wide web
  7. Finding influential people in a social network.
  8. Strong and weak ties, triadic closure, betweenness measures
  9. Definitions and properties of Random graphs, growth
  10. Power Law networks and Preferential attachment model
  11. Small world models
  12. Spectral graph theory and spectral methods.
  13. Cascades and epidemics
  14. Other current topics

These topics will be updated as we go. If there are specific topics you would like discussed, talk to the lecturer.

Pre-requisites Understanding (undergraduate level) of graphs, data structures, basic algorithms (spanning trees, BFS, DFS, sorting, shortest path etc), Linear algebra, and probability. Programming is highly recommended for the coursework.

See Last Year's web page for some typical content, but as explained above, we will have some new exciting topics this year.

Main Books and reading (available online):

Additional Books:


Similar and relevant courses at other universities

Course Structure

Final theory exam: 60% of marks. One Project 40% of marks. The project is an opportunity to develop or try something new in network science. It will consist of using programming or mathematical tools to analyze a network dataset or model.

FEEDBACK: Assignment scores and comments on deduction of marks will be given for the project. Exercise theoretical problems and solutions will be given in class. Please attempt these as they are posted and use them to test your understanding and your precision in writing analytic answers.

DRPS page with official descriptor of the course.