Log in and enrol
GraphAI: Python for Complex Networks
GraphAI: Python for Complex Networks
Analyzing complex networks and developing machine learning and graph neural network models with Python and NetworkX, from static graphs to temporal networks and responsible AI.
Course description
The course introduces complex network analysis and shows how to transform graph structure into useful information for artificial intelligence. Using Python and NetworkX, learners build and analyze graphs; measure degree, paths, clustering, centrality, communities, and motifs; and study network dynamics and diffusion. The course then moves to machine learning on network data: structural features, node embeddings with DeepWalk and node2vec, node classification, link prediction, and graph neural networks, with particular attention to GCN, GraphSAGE, and GAT. The final part extends the analysis to temporal networks, sequential models, and temporal GNNs; addresses anomaly detection and applications across multiple domains; and concludes with limitations, fairness, privacy, and explainability. Each week includes Jupyter notebooks, case studies, and quizzes. The course is delivered in English.
Total workload of the course: 100 hours
This MOOC was produced as part of the Edvance project – Digital Education Hub per la Cultura Digitale Avanzata. The project is funded by the European Union – Next Generation EU, Component 1, Investment 3.4 “Didattica e competenze universitarie avanzate".



Intended Learning Outcomes
- Represent real-world systems as graphs, distinguishing nodes, edges, direction, weights, and attributes, and build networks in Python with NetworkX
- Calculate and interpret degree, paths, components, clustering, centrality, communities, and motifs to describe the structure of a complex network
- Analyze the properties of real-world networks and diffusion dynamics, transforming structure, attributes, and local patterns into features that can be used by AI models
- Design classical machine learning pipelines for node classification and link prediction using structural features and interpretable baselines
- Build and use node embeddings with DeepWalk and node2vec and explain the role of random walks and context in node representation
- Describe, implement, and evaluate message-passing graph neural networks, comparing GCN, GraphSAGE, and GAT
- Represent temporal networks and connect sequential models and temporal GNNs to problems in which the order and timing of interactions are essential
- Apply Graph AI methods to classification and anomaly detection, assessing their performance, fairness, privacy, explainability, and limitations
Prerequisites
- Basic familiarity with Python (variables, data structures, functions, and the use of Jupyter notebooks);
- No prior knowledge of graph theory or network science is required: the necessary concepts are introduced in Week 1;
- No prior knowledge of machine learning is required: features, embeddings, and GNNs are introduced progressively in Week 2;
- A good understanding of written and spoken English, as the course is delivered in English.
Activities
- Video lessons, in one or two parts for each module, with full transcripts;
- Python (Jupyter) notebooks with code, figures, and exercises on NetworkX, machine learning, and graph neural networks;
- Three guided case studies: analysis of Zachary's Karate Club, node classification on the Cora network, and responsible Graph ML on a synthetic social network;
- A collection of supplementary readings, articles, tutorials, and videos for each week;
- Weekly assessment quizzes: one per week, with 10 multiple-choice questions and feedback.
Section outline
-
-
-
-
-
-
-
Video transcripts Folder
-
Assessment
Your final grade for the course will be based on the results of your answers to the assessed quizzes. You have an unlimited number of attempts at each quiz, but you must wait 15 minutes before you can try again. You will have successfully completed the course if you score 60% (or higher) in each one of the assessed quizzes. The maximum score possible for each quiz is given at the beginning of the quiz. You can view your score in the quiz on your last attempt or on the 'Grades' page.
Certificate
You can achieve a certificate in the form of an Open Badge for this course, if you reach at least 60% of the total score in each one of the assessed quizzes and fill in the final survey.
Once you have completed the required tasks, you will be able to access ‘Get the Open Badge’ and start issuing the badge. Instructions on how to access the badge will be sent to your e-mail address.
The Badge does not confer any academic credit, grade or degree.
Information about fees and access to materials
The course is delivered in online mode and is available free of charge.
Course faculty
Giacomo Fiumara
Teacher
Contact details
If you have any enquiries about the course or if you need technical assistance please contact pok@polimi.it. For further information, see FAQ page.