Time/place:

- Tuesdays:
**12:10 -- 13:00.**1 George square, G8: Gaddum Lecture theatre. - Fridays:
**12:10 -- 13:00.**Geography 2.13 - See here for locations and map.

Lecturer: Dr. Rik Sarkar

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

**Solutions to notes 1 and 2 are up.**No Class or office hour on Oct 15, 18.

Project plan submission instructions are up on Projects Page.

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

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

More information about coursework projects on the Projects page.

Preliminary exercise problems are up. Please go through them.

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

- Introduction: Motivation and overview the course
- Community detection & Clustering: unsupervised machine learning.
- Embedding of networks: representation learning and relations to machine learning
- Kernel methods of machine learning, and graph kernels.
- Metric spaces and networks. Creating networks from arbitrary data and using network analysis for data analytics.
- Pagerank, HITS & structure of the world wide web
- Finding influential people in a social network.
- Strong and weak ties, triadic closure, betweenness measures
- Definitions and properties of Random graphs, growth
- Power Law networks and Preferential attachment model
- Small world models
- Spectral graph theory and spectral methods.
- Cascades and epidemics
- 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):

David Kempe - Structure and dynamics of information in networks

Recent papers. These will be given along with relevant lecture materials.

#### Additional Books:

Jure Leskovec, Anand Rajaraman, Jeff Ullman - Mining of massive datasets

Mark Newman - Networks, an Introduction

- Philip S. Yu, Jiawei Han, Christos Faloutsos - Link mining: Models, applications and algorithms

### Resources

- Notes on setting up networkx and IPython notebook in your DICE account
- NetworkX - Python language software package for the creation, manipulation, and study of the structure, dynamics, and functions of complex networks
- SNAP - complex network database
- Gephi - software package for visualization and analysis of graphs

#### Similar and relevant courses at other universities

- Cornell - https://courses.cit.cornell.edu/info2040_2017fa/
- USC - http://www-bcf.usc.edu/~dkempe/CS673/index.html
- Stanford - http://web.stanford.edu/class/cs224w/

### 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.