Introduction to Network Analysis (INA)
Course instructor
Lovro Šubelj (R 2.49)
Outline & objective
Networks or graphs are ubiquitous in everyday life. Examples include online social networks, Web, terrorist affiliations, LPP bus map, plumbing systems and your brain. Many such real-world networks reveal characteristic patterns of connectedness that are far from regular or random. However, while small networks can be drawn by hand and analyzed by a naked eye, real-world networks require specialized computer algorithms, techniques and models. This led to the emergence of a new scientific field more than 20 years ago denoted network analysis or network science.
The course will first introduce the field of network analysis and highlight the differences between classical graph theory and modern network science. In the main part of the course, students will learn about fundamental concepts and techniques for the analysis of real-world networks including node centralities and equivalence, motifs and graphlets, blockmodeling, community detection, role discovery, link prediction, network modeling, sampling, comparison and visualization. The last part of the course will be devoted to selected practical applications of network analysis in fraud detection, software engineering, information science and other.
The objective of the course is to present a broad spectrum of network analysis concepts and techniques, clarify their theoretical foundations and demonstrate their practical applicability. The lectures will give theoretical discussion on network concepts and present efficient algorithms and techniques for their analysis, while students will work on practical examples of applying network analysis within labs and their coursework. The topics covered were selected thus to be suitable for a wider range of students and to serve as an introduction to more advanced network analysis courses like Machine Learning with Graphs and Advanced Topics in Network Science (see network courses design).
Except for good programming skills in some general purpose language (e.g. Python, Java, C/C++), there are no specific prerequisites for the course. However, students will benefit from a solid knowledge in graph theory, probability theory and statistics, and linear algebra.
Coursework & grading
Students are expected to attend and actively participate in lectures and labs. The ongoing coursework will consist of three homeworks (and one setup homework) on network analysis concepts and techniques. Each homework will require certain amount of programming, some analytical derivations and some practical applications to real-world problems.
The main part of the coursework consists of a substantial course project. Students will be encouraged to submit a report describing their course project to the preprint server arXiv.org or make their work publicly available. All students will have to present their project in front of their peers. Students are encouraged to work in groups of three, while other sizes of groups will be allowed only in special cases.
Course grade will be based 40% on homeworks (13.3% on each homework), 50% on course project (10% on project proposal, 35% on project paper and 5% on presentation), and 10% on course challenges, participation and commitment. There will be no written exam for this course, but selected students will have to attend oral exam.
Course assignments
All course assignments will be out and due according to course syllabus, and must be submitted before Friday at 9:00pm. Twice during the semester you can take advantage of late days, which means that an assignment is submitted late. Late days for an assignment that is due this Friday expire next Monday at 12:00pm.
Students can prepare their assignments in either English or Slovene. Each assignment must be submitted through eUcilnica and must include course cover sheet with signed honor code!
Literature & materials
All course materials will be posted periodically on this web page. The following course books are recommended as background reading.
- Barabási, A.-L., Network Science (Cambridge University Press, 2016).
- Newman, M.E.J., Networks: An Introduction (Oxford University Press, 2010, 2018).
- Coscia, M., The Atlas for the Aspiring Network Scientist (e-print arXiv:210100863v2, 2021).
- Easley, D. & Kleinberg, J., Networks, Crowds, and Markets (Cambridge University Press, 2010).
- de Nooy, W., Mrvar, A. & Batagelj, V., Exploratory Social Network Analysis (Cambridge University Press, 2011).
- Estrada, E. & Knight, P.A., A First Course in Network Theory (Oxford University Press, 2015).
- Barabási, A.-L., Network Science (Cambridge University Press, 2016).
Course discussions