Instructor Information
Course Information
Course Description
Graphs are a flexible data structure that facilitates fusion of disparate data sets. Applications of graphs have shown steady growth with the development of Internet, cyber, and social networks, presenting large graphs for which analysis remains a challenging problem. This course introduces algorithms and techniques to address large-scale graph analytics. It will blend graph analytics theory, hands-on development of graph analytics algorithms, as well as processing approaches that support the analytics. We will start by introducing graphs, their properties, and example applications, including necessary background on probability and linear algebra. Statistical properties of random and scale-free graphs will be introduced. Graph analytic methods, including centrality measures, graph clustering, partitioning, link inference, and dynamic graph processes such as diffusion, contagion, and opinion formation will be covered. Application of graph analytics to high-dimensional data analysis and data clustering will be discussed. Students will use standard graph interfaces as well as linear algebra-based methods to analyze graphs. Parallelization of analytics to handle larger-scale graphs will be discussed. Students will identify and apply suitable algorithms and analysis techniques to a variety of graph analytics problems, as well as gain experience setting up and solving these problems. There will be hands-on programming assignments.
Course Goal
The goal of this course is to give students the ability to identify and apply suitable processing and analysis techniques to a variety of problems involving graphs. Students will gain experience setting up and solving graph analytics problems and learn to identify which algorithms and technique to apply to a particular problem.
Course Objectives
- Learning properties of random and scale free graphs
- Measuring centrality properties of graph vertices and edges
- Identifying communities and partitions of a graph
- Measuring robustness/resilience of a graph/network
When This Course is Typically Offered
Syllabus
- Graph analysis software libraries & interfaces
- Linear Algebra & Probability Background
- Random Graphs & Their Properties
- Centrality of Graph Elements
- Link Inference
- Graph Partitioning & Community Finding
- Application of Graph Partitioning to Data Clustering
- Probabilistic Graphical Models
- Network Robustness & Resiliency
- Dynamic Processes on Graphs
Student Assessment Criteria
Homework | 30% |
Midterm | 30% |
Final Project | 30% |
Discussion | 10% |
Students will prepare a final project. Final project will be decided based on student interest and can be focused on analysis of open source data sets or an implementation of a graph algorithm.
Computer and Technical Requirements
Competency in an object oriented programming language is recommended. Students can choose a language of their choice to implement assignments. Code examples will be provided using Java.
Participation Expectations
There will be weekly assignments. Students are expected to participate in online class discussions.
Textbooks
Textbook information for this course is available online through the MBS Direct Virtual Bookstore.
Course Notes
There are notes for this course.
Final Words from the Instructor
Edition: 2018
Author: Newman, Mark
ISBN 13: 978-0-19-880509-0
ISBN 10: 0-19-880509-8
MBS Direct SKU #: 2168260
Publisher: Oxford University Press
(Last Modified: 01/12/2020 05:31:14 PM)