Instructor Information

Cetin Savkli

Cell Phone: 240-601-9181

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

Course textbook:
Networks

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)