This course examines complex systems through the eyes of a data scientist. We will use the representative power of graphs to model networks of social, technological, or biological interactions. Network analysis provides many computational, algorithmic, and modeling challenges. We begin by studying graph theory, allowing us to quantify the structure and interactions of social and other networks. We will then explore how to practically analyze network data and how to reason about it through mathematical models of network structure and evolution. Another main objective will be to investigate algorithms that extract basic properties of networks in order to find communities and infer node properties. Finally, we will study a range of applications including robustness and fragility of networks such as the internet, spreading processes used to study epidemiology or viral marketing, and the ranking of webpages based on the structure of the webgraph. This course combines concepts from *computer science* and *applied mathematics* (matrix algebra and optimization) to study networked systems using *data mining*.

**Prerequisites:** CSE 247, ESE 326, **MATH 309**, and programming experience (note: we will parse data and analyze networks using **Python**)**Python courses/tutorials** to meet the programming prerequisite:

- Learn Python course on Codecademy
- Intro to Python for Data Science from DataCamp
- The official Python tutorial is quite comprehensive. There is also a useful glossary.
- The Wash U library has electronic copies of the O’Reilly book
*Learning Python*available for viewing online. See here.

You must be logged in to post a comment.