Instructor: Prof. Dr. Mudasar Hussain
Department: Information Technology
Credit Hours: 3 (2 Theory + 1 Practical)
Prerequisites: Data Structures, Discrete Mathematics
Duration: 16 Weeks (48 contact hours)
Network Science is an interdisciplinary field that studies complex networks in nature, technology, and society. This course provides comprehensive coverage of network theory, algorithms, and applications. Students will learn to analyze, model, and visualize real-world networks including social networks, biological networks, information networks, and technological networks. The course combines theoretical foundations with hands-on practical experience using Python and network analysis tools.
Upon successful completion of this course, students will be able to:
Understand fundamental concepts and principles of network science
Analyze network structures using mathematical and computational approaches
Apply network algorithms for centrality, community detection, and link prediction
Model and simulate network dynamics and spreading phenomena
Visualize and interpret complex networks using appropriate tools
Design and implement network analysis solutions for real-world problems
Understand applications of network science in social media, biology, technology, and infrastructure
Knowledge and Understanding:
Comprehend the mathematical foundations of graph theory and network science
Understand different types of networks and their properties
Recognize network patterns and structures in real-world systems
Skills:
Apply network analysis algorithms and techniques
Use Python libraries (NetworkX, igraph) for network analysis
Visualize networks effectively using appropriate tools
Conduct empirical analysis of real-world networks
Competencies:
Design network-based solutions for practical problems
Evaluate network robustness and vulnerability
Predict network evolution and dynamics
Lecture 1: Course Introduction & Fundamentals (Slides)
What is Network Science?
Historical perspective and applications
Networks in nature, technology, and society
Basic terminology: nodes, edges, directed/undirected networks
Lecture 2: Graph Theory Basics
Mathematical foundations
Graph representation (adjacency matrix, adjacency list)
Types of graphs: simple, weighted, directed, bipartite
Graph properties: degree, paths, walks, cycles
Practical 1-2:
Python environment setup
Introduction to NetworkX library
Creating and visualizing basic networks
Lecture 3: Degree Distribution and Network Density
Degree distribution
Average degree
Network density and sparsity
Degree sequences
Lecture 4: Random Networks
Erdős-Rényi model
Properties of random graphs
Phase transitions
Limitations of random networks
Practical 3-4:
Calculating network statistics
Generating random networks
Visualizing degree distributions
Analyzing real network datasets
Lecture 5: Small-World Phenomenon
Six degrees of separation
Clustering coefficient
Average path length
Small-world property
Lecture 6: Watts-Strogatz Model
Regular lattice to random rewiring
Interpolating between order and randomness
Applications in social and biological networks
Limitations and extensions
Practical 5-6:
Measuring clustering and path length
Implementing Watts-Strogatz model
Analyzing small-world properties in real networks
Facebook network analysis
Lecture 7: Power Laws and Scale-Free Networks
Power law distributions
Heavy-tailed distributions
Hub nodes and robustness
Real-world scale-free networks
Lecture 8: Preferential Attachment
Barabási-Albert model
Growth and preferential attachment mechanism
Rich-get-richer phenomenon
Mathematical analysis of degree distribution
Practical 7-8:
Identifying power laws in data
Generating scale-free networks
Analyzing Internet and citation networks
Comparative analysis of network models
Lecture 9: Centrality Measures I
Degree centrality
Closeness centrality
Betweenness centrality
Applications in identifying important nodes
Lecture 10: Centrality Measures II
Eigenvector centrality
PageRank algorithm
Katz centrality
Comparing centrality measures
Practical 9-10:
Computing various centrality measures
PageRank implementation
Identifying influential nodes
Social network influencer analysis
Lecture 11: Community Structure
Definition of communities
Modularity
Hierarchical clustering
Clique-based methods
Lecture 12: Community Detection Algorithms
Girvan-Newman algorithm
Louvain method
Label propagation
Spectral clustering
Practical 11-12:
Implementing community detection algorithms
Modularity optimization
Visualizing community structure
Analyzing social media communities
Lecture 13: Network Resilience and Robustness
Attack tolerance
Random failures vs targeted attacks
Percolation theory
Network robustness measures
Lecture 14: Spreading Phenomena
Epidemic models (SI, SIS, SIR)
Information diffusion
Cascade models
Viral marketing
Practical 13-14:
Simulating network attacks
Epidemic modeling on networks
Information cascade simulation
COVID-19 spread analysis on contact networks
Lecture 15: Link Prediction
Common neighbors
Jaccard coefficient
Preferential attachment score
Machine learning approaches
Lecture 16: Network Applications & Future Directions
Biological networks (protein interaction, neural networks)
Transportation networks
Financial networks
Emerging trends in network science
Practical 15-16:
Link prediction implementation
Real-world network analysis projects
Final project presentations
Course review
Required Software:
Python 3.8+
NetworkX library
Matplotlib, Seaborn for visualization
Pandas for data handling
Jupyter Notebook
Gephi (optional for advanced visualization)
Lab Structure: Each lab session includes:
Introduction to concepts (15 mins)
Hands-on coding exercises (60 mins)
Discussion and problem-solving (15 mins)
Lab Datasets:
Karate Club network
Facebook social circles
Collaboration networks
Citation networks
Biological networks (protein interaction)
Transportation networks
Lab Assessment:
Weekly lab exercises: 20%
Mid-lab practical exam: 15%
Final lab project: 15%
Component
Weightage
Details
Quizzes
10%
4 quizzes (best 3 counted)
Assignments
15%
3 assignments
Lab Work
20%
Weekly lab exercises
Mid-term Exam
15%
Theory + Practical
Final Project
15%
Network analysis project
Final Exam
25%
Theory + Practical
Grading Scale:
A: 85-100%
B: 70-84%
C: 60-69%
D: 50-59%
F: Below 50%
"Network Science" by Albert-László Barabási (2016)
Free online: http://networksciencebook.com/
"Networks: An Introduction" by Mark Newman (2018)
"Social Network Analysis: Methods and Applications" by Stanley Wasserman & Katherine Faust (1994)
"Complex Networks: Principles, Methods and Applications" by Vito Latora, Vincenzo Nicosia, & Giovanni Russo (2017)
NetworkX Documentation: https://networkx.org/
Stanford Network Analysis Platform (SNAP): http://snap.stanford.edu/
Network Repository: http://networkrepository.com/
Gephi Tutorials: https://gephi.org/
Minimum 75% attendance required
Medical certificates required for prolonged absence
Plagiarism will result in zero marks
Collaboration on labs encouraged, but submissions must be individual
Proper citation of sources required
10% penalty per day (up to 3 days)
No submissions accepted after 3 days without valid reason
Office hours: Monday & Wednesday, 2-4 PM
Email response within 24-48 hours
Course announcements via LMS
Week
Theory Topics
Practical Topics
Assessments
1
Introduction to Networks
Python & NetworkX Setup
-
2
Graph Theory Basics
Basic Network Creation
Quiz 1
3
Degree Distribution
Network Statistics
-
4
Random Networks
Random Network Generation
Assignment 1
5
Small-World Phenomenon
Clustering Analysis
-
6
Watts-Strogatz Model
Small-World Networks
Quiz 2
7
Scale-Free Networks
Power Law Analysis
-
8
Preferential Attachment
Scale-Free Generation
Mid-term
9
Centrality Measures I
Computing Centrality
-
10
Centrality Measures II
PageRank Implementation
Assignment 2
11
Community Structure
Community Detection
Quiz 3
12
Detection Algorithms
Modularity Optimization
-
13
Network Robustness
Attack Simulation
-
14
Spreading Phenomena
Epidemic Modeling
Assignment 3
15
Link Prediction
Link Prediction Methods
Quiz 4
16
Applications & Future
Final Projects
Final Project Due
Objective: Apply network science concepts to analyze a real-world network
Requirements:
Choose a real-world network dataset
Conduct comprehensive network analysis
Apply at least 3 different analytical techniques
Visualize findings effectively
Present results in report and presentation
Deliverables:
Project proposal (Week 10)
Progress report (Week 14)
Final report (15-20 pages)
Presentation (15 minutes)
Code submission
Suggested Topics:
Social media network analysis
Citation network analysis
Transportation network optimization
Disease spread modeling
Recommendation system using networks
Criminal network analysis
Academic collaboration networks
python
import networkx as nx
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
from scipy import stats
import seaborn as sns
Jupyter Notebook for interactive analysis
Gephi for advanced visualization
Cytoscape for biological networks
Pajek for large network analysis
Stanford CS224W: Machine Learning with Graphs
MIT 6.207: Networks (OpenCourseWare)
Coursera: Applied Social Network Analysis in Python
Instructor: Prof. Dr. Mudasar Latif Memon
Office: Department of Information Technology
Email: mudasar.latif@ums.edu.pk
Office Hours: Monday & Wednesday, 2:00 PM - 4:00 PM
Lab Supervisor: [Lab Assistant Name]
Course Start: [Week 1]
Mid-term Exam: Week 8
Project Proposal Due: Week 10
Last Day to Drop: Week 12
Final Project Due: Week 16
Final Exam: [As per university schedule]
Extra support sessions available for students with limited prior programming experience
Online resources and tutorials provided
Peer mentoring program available
Guest lectures from industry professionals
Case studies from Pakistani tech industry
Applications in local context (e.g., social networks in Pakistan, transportation networks in Sindh)
Course Prepared By: Prof. Dr. Mudasar Latif Memon
Department: Information Technology
Institution: The University of Modern Sciences, Tando Muhammad Khan
Date: January 2026
Objective: Create and visualize basic networks
Tasks:
Install NetworkX and dependencies
Create a simple undirected graph
Add nodes and edges
Calculate basic properties (number of nodes, edges, degree)
Visualize the network
Save the network data