This course explores network analysis, a cross-disciplinary field that studies the structure and dynamics of complex systems. The course will cover the mathematical concepts of graph theory including the study of network structure, information flow dynamics and the processes through which we model the evolution of networks over time. The course will also introduce students to state-of-the-art tools and software used for network analysis, with a focus on efficiently processing very large graphs. The syllabus covers:
Raj Venkat Office: Meserve 303 r.venkatesaramani@northeastern.edu Office Hours: Mondays, after class To request appointments outside of office hours, click here. If you decide to swing by on a whim, and my office door is open, feel free to bug me. |
In teaching a special topics course, I place a lot of emphasis on class participation. The goal is not for me to lecture at you for a whole semester. Rather, I think of this as an opportunity for you and me to discover new topics and applications and get familiar with the latest research in the field, together.
I expect students to come to class having gone through posted readings in advance. This will ensure that lecture time is used effectively to engage in deeper discussions and tailor the course to the class’s interests. I will lecture in a somewhat traditional format for the first 2–3 weeks to cover the basic theory and set the pace, but will then transition to a more discussion-driven classroom.
Later in the semester, we will spend some time discussing research papers, where students will take turns leading these discussions. I expect you to come to these lectures prepared with summaries of your understanding of the paper (it is okay to not understand every detail - I’m here to help with that), some open questions, and perhaps some examples of related work that you may have found along the way.
A strong background in linear algebra is recommended. We will be relying extensively on Python 3, learning many new packages; strong programming skills are a must.
While attendance is not formally recorded, in-class activities count toward 20% of your grade and are distributed throughout the semester. There is flexibility for occasional activities missed due to health concerns, emergencies, etc.; however, repeated or prolonged absence is bound to affect this portion of your grade.
Small classes are also an opportunity to work closely with your instructors, engage in deeper discussions, and receive personalized feedback to enhance your learning experience, and attendance is highly encouraged.
In addition to being your instructor, I hope you also think of me as an advisor/mentor whom you can freely talk to for any reason1. I am open to questions about anything that has to do with your education, even if it does not strictly fall within the scope of CS4973. I strive to foster a nonjudgmental learning environment at all times, and I am never inconvenienced by a student reaching out for support.
Please note that by joining the course late, you knowingly accept the responsibility of catching up on missed material and should not expect any preferential treatment or adjustments to deadlines. Please stop by my office hours, or book an appointment with me, and I will be more than happy to briefly review content and point you to the right resources.
Date | Topic | Readings |
---|---|---|
6-Jan | Introduction, logistics | |
8-Jan | Overview, complex systems, examples, applications | https://networksciencebook.com/chapter/1 |
9-Jan | Definitions and Notations, Types of Graphs | https://networksciencebook.com/chapter/2 |
13-Jan | Representing Networks in Memory | https://rushter.com/blog/scipy-sparse-matrices |
15-Jan | Native Python v/s NetworkX - BFS for connected components | https://snap.stanford.edu/data/index.html https://networkx.org/documentation/stable/tutorial.html |
16-Jan | Visualizing network statistics | https://mathinsight.org/degree_distribution https://networkx.org/documentation/stable/auto_examples/drawing/plot_degree.html |
20-Jan | NO CLASS - MLK JR DAY | |
22-Jan | Node Importance | https://www.socialmediamining.info/chapters/SMM-ch3.pdf |
23-Jan | Node Importance (contd.) | |
27-Jan | Random Graph Models | https://networksciencebook.com/chapter/3 |
29-Jan | Random Graph Models (contd.) | |
30-Jan | The Small World Effect | https://snap.stanford.edu/class/cs224w-readings/milgram67smallworld.pdf https://arxiv.org/pdf/1111.4503 |
3-Feb | Scale Free Property | https://networksciencebook.com/chapter/4 |
5-Feb | Scale Free Property (contd) | |
6-Feb | Preferential Attachment | https://networksciencebook.com/chapter/5 https://www.nature.com/articles/nature11486 |
10-Feb | Preferential Attachment (contd.) | |
12-Feb | Paper Discussion 1 | Generating preferential attachment graphs via a Pólya urn with expanding colors |
13-Feb | Introducing Graphtool | https://graph-tool.skewed.de |
17-Feb | NO CLASS - PRESIDENTS DAY | |
19-Feb | Evolving Networks | https://networksciencebook.com/chapter/6 |
20-Feb | Degree Correlations | https://networksciencebook.com/chapter/7 |
24-Feb | NO LECTURE - Work on Project | |
26-Feb | NO LECTURE - Work on Project | |
27-Feb | NO LECTURE - Work on Project | |
3-Mar | SPRING BREAK | |
5-Mar | SPRING BREAK | |
6-Mar | SPRING BREAK | |
10-Mar | Network Robustness | https://networksciencebook.com/chapter/8 |
12-Mar | Community Detection | https://networksciencebook.com/chapter/9 https://www.socialmediamining.info/chapters/SMM-ch6.pdf |
13-Mar | Community Detection (contd.) | |
17-Mar | Viral Marketing & Epidemics | https://www.socialmediamining.info/chapters/SMM-ch7.pdf https://networksciencebook.com/chapter/10 |
19-Mar | Graph ML - Recommendations | https://www.socialmediamining.info/chapters/SMM-ch9.pdf |
20-Mar | Graph Neural Networks | |
24-Mar | Paper Discussion 2 | |
26-Mar | Paper Discussion 3 | |
27-Mar | Paper Discussion 4 | |
31-Mar | TBD | |
2-Apr | TBD | |
3-Apr | TBD | |
7-Apr | PRESENTATIONS | |
9-Apr | PRESENTATIONS | |
10-Apr | PRESENTATIONS | |
14-Apr | Wrap Up |
A | [93, 100] |
A- | [90, 93) |
B+ | [87, 90) |
B | [82, 87) |
B- | [80, 82) |
C+ | [77, 80) |
C | [72, 77) |
C- | [70, 72) |
D+ | [67, 70) |
D | [62, 67) |
D- | [60, 62) |
F | [0, 60) |