- Dr. Simone Santoni — simone.santoni.1@city.ac.uk
- Office hour: every Tuesday from 17:30 to 18:30 (students are required to book a slot and share their questions via email in advance).
- Teaching assistant: Dr. Matteo Devigili — matteo.devigili.2@city.ac.uk
Networks are ubiquitous: job offerings reach us via inter-personal connections; what we see on the screen of our digital device is a function of the relationships we develop in the digital world; market valuations are ― largely ― the byproduct of social influence, which accumulates and spreads over relations. This module provides students with cutting-edge network theories and practical tools to appreciate the organization and functioning of disparate networks. Ultimately, the goal is to develop a distinctive angle on how networks bring value to individuals, organizations, and communities.
SMM638 sticks with a GitHub-based workflow. The only way to get access to the latest version of lecture notes, code, and data is to use this GitHub repo.
For this module, you aren't required to purchase any book, whereas it is key you carefully consider the following set of mandatory materials:
- lecture notes (to be uploaded onto Moodle/Github weekly; they include slideshows + videos);
- weekly lecture notes
- weekly video-recordings attached to the lecture notes, available via the MS Office app Streams and accessible to Bayes MSc students only
- selected chapters from the book Networks, Crowds, Markets (you can also access it via our Library website)
- selected chapters from the book Network Science
- case studies
- ad hoc tutorials dealing with foundational aspects of data visualizations and aiming to speed up students' learning
- selected journal articles, made available on a rolling basis to best fit the interests and needs of the students
- selected datasets supporting the labs offered during the weekly 'live' sessions and tutorials. Note that further datasets could be uploaded onto the repo in order to create labs/tutorials that best fit the interests and needs of the students
Discretionary readings/materials include and aren't limited to:
- How networks matter: Linked
- Mathematical foundations of network analytics: Introduction to Graph Theory
- Social network analysis metrics: Social Network Analysis: Methods and Applications
At the end of the module, students should be able to:
- appreciate the properties of networks;
- appreciate the properties of communities of nodes belonging to a network;
- appreciate the properties of individual nodes belonging to a network;
- visually represent the key features of networks;
- leverage the most advanced Python modules for network analytics;
- mobilize key network analytics notions and tools in order to produce elegant, effective, and efficient solutions to practical problems in the field of business strategy, product innovation, and operations.
As per the module specification, students will be assessed on the basis of coursework submissions (yes, you understand correctly, for this module there is no final examination). Specifically, there are two pieces of coursework, namely:
- a group-level 'mid-term project' (MTP)
- an individual-level 'final course project' (FCP)
Both pieces of coursework will be evaluated against four criteria: i) appropriate use of notions and frameworks discussed in class; ii) effectiveness of the proposed answer or solution; iii) originality/creativity of the proposed answer or solution; iv) organization and clarity of submitted materials. All criteria carry out the equal weight in terms of marking.
Here's the calculation of the Final Mark (FM):
For the MTP, students will work in groups to solve a complex visualization problem. The details of the MTP will be available on October 19, when the project will be released. Submissions will be assessed on a 0 - 100% scale. The Groups who fail MTP can resubmit a revised version of the project; if the revision is sufficient, students receive a 50% mark. The deadline for the project is November 15. Few groups (e.g., three groups) will be invited to present the outcome of their work to fellow students in week 6. Invited groups could also receive a maximum of three (3) bonus points on the basis of the quality of their presentations.
To clarify your expectations about the MTP, please consider the assignments administered to the previous BA cohorts.
With the FCP, students will work individually to help a real-world client to face some data challenges that can best be addressed using a network analytics angle. Details about the client and the challenge will be available on November 16. Final course projects will be evaluated on a rolling basis and should be submitted by December 17.
To clarify your expectations about the FCP, please consider the assignments administered to the previous BA cohorts.
Case studies provide students with the opportunity to learn how to integrate the 'business' and the 'network analytics' perspectives in order to deal effectively with real-world problems. In terms of process, groups of students will receive i) a detailed description of a business issue, and ii) relevant data. Then, they will be working for one week to produce their own solution. The views on the case will be discussed in class during an interactive session led by the lecturer. Students could be cold-called during the session and asked to share their solutions.
Problem sets (PS) will be launched weekly. Individual students may want to deal with these problem sets and present their solutions to the class. A maximum of three students per session will be selected on the basis of the novelty and effectiveness of the proposed solution. One bonus point (+1 FM) will be assigned.
To clarify your expectations about PSs, please consider the assignments administered to the previous BA cohorts.
| Week | Topic |
|---|---|
| 1 | Introduction to SMM638 |
| Introduction to networks | |
| - how networks matter | |
| - networks are made up of nodes and ties | |
| - graph and algebraic representations of networks | |
| 2 | Introduction to networks |
| - forms of networks | |
| - markets & networks: the Soundcloud example | |
| Network theory | |
| - strong ties and closure | |
| - weak ties and brokerage | |
| Network models and metrics | |
| - centrality | |
| - paths and distances | |
| - connectedeness | |
| Laboratory (NetworkX) | |
| 3 | Network theory |
| - small worlds and networks | |
| - core-periphery structures in networks | |
| - community structures in networks | |
| Network models and metrics | |
| - collection of community detection algorithms | |
| Laboratory (NetworkX) | |
| Mid-term project release | |
| 4 | Network theory |
| - homophily, selection, and social influence | |
| Network models and metrics | |
| - closure and link formation in online communities | |
| - spatial models of segregation | |
| Laboratory (NetworkX and Mesa) | |
| 5 | Network theory |
| - scale-free networks | |
| - preferential attachment | |
| - Barabasi-Albert model | |
| Network models and metrics | |
| - crowds and popularity | |
| - networks, recommenders, and popularity | |
| Laboratory (NetworkX) | |
| 6 | Mid-term project — students' presentations |
| Laboratory (Graph-Tool) | |
| - efficient network analysis with Graph-Tool | |
| 7 | Final course project release |
| Network theory | |
| - cascading behavior | |
| - diffusion in and through networks | |
| Network models and metrics | |
| - spreading phenomena | |
| Laboratory (NetworkX, Graph-Tool) | |
| 8 | Case study #1 (on cascading behavior and diffusion) |
| 9 | Network theory |
| - percolation theory | |
| - network robustness | |
| Network models and metrics | |
| - attack tolerance | |
| - cascading failures | |
| Laboratory (NetworkX, Graph-Tool) | |
| 10 | Case study #2 (on percolation theory/robustness) |
Subject to the Covid-19-related norms and actions, SMM638 might host short talks from two types of guest speakers: ambassadors — former students of the BA program — and practitioners.
- The SMM692 ― Python Pre-Course module defines the knowledge students should possess in order to proficiently attend SMM635 ― Data Visualization.
- Basic knowledge of the Git versioning software as implemented in GitHub (see the official GitHub Guides)
For this module, you're supposed to run Python 3.7 or higher on your machine. Now, how to get Python to work on your machine? There are several ways to do that. A fast, smooth alternative is to install Anaconda, an open-source distribution of Python that includes: i) 250+ popular data science packages; ii) the conda package, which makes it quick and easy to install, run, and upgrade complex data science and machine learning environments.
Here is the workflow:
- Use your preferred browser to open the link pointing to the Anaconda repository;
- Select the installer the which suits your machine (32- or 64-bit) and operating system (Win, Mac OS, Linux). Mac users may want to download the graphical installer rather than the command-line installer (students may feel less comfortable with it);
- Retrieve the installer (perhaps in your download folder);
- Run the installer;
- Log-out from your current session (it does not matter if you use Win, Mac OS or Linux);
- Log-in into a new session;
- Run 'Anaconda Navigator' — namely, a convenient place to launch the IPython shell or other user-interfaces to interact with IPython.
On top of Anaconda ― Python, students should install the modules:
- NetworkX
- Mesa
- Graph-Tool. Note Graph-Tool is a 'complex'
library (i.e., it depends on several Pyhon and C++ libraries); you may want
to follow the installation instructions reported under
the
resourcessection of this repo.
- The current version is 1.1
- Last change: Tue 5 Oct 2021 09:38:36 BST
