Short Courses

These are some short courses I've taught. None of these are substitutes for real technical coursework, but they are fun and broad dives through their topics.

Five Lectures on Networks
Five 75 minute lectures on networks, originally developed for the Santa Fe Institute's Complex Systems Summer School. These lectures cover both introductory and advanced material from network science. Network science is a big and very diverse field today, and so these lectures are necessarily somewhat selective in what material is included. Lectures are provided in PDF format. No exercises or videos.

All material is aimed at advanced undergraduate or beginning graduate student level, but should be broadly accessible, meaning it doesn't assume much of a disciplinary background. It does assume some mathematical preparation, at the level of introductory calculus and statistics.

For a more complete exploration of network science, see my full course at the University of Colorado Boulder, entitled Network Analysis and Modeling.

Lecture 1. What are networks and how do we talk about them? [6.4MB]
Lecture 2. Describing network structure, and its impact on network flows [11.4MB]
Lecture 3. Describing network position and understanding assortative mixing [8.8MB]
Lecture 4. Dynamic networks, and a series of random graph models [8.2MB]
Lecture 5. Learning from network data and metadata [11.2MB]

Learning from Data
A roughly 45 minute lecture on the basics of learning from data, using the statistics of terrorism and civil wars as running examples, with a brief peek at sports at the end. This lecture was originally developed for high school teachers and students, and thus assumes almost no background beyond basic algebra and knowledge of what an average is. Lecture is provided in PDF format. No exercises or videos.

Lecture 1. Learning from Data [5.0MB]

Resources
LaTeX (general) and TeXShop (Mac)
Matlab license for CU staff (includes student employees)
Mathematica license for CU students
NumPy/SciPy libraries for Python (similar to Matlab)
NetworkX Python package for network analysis.
graph-tool, network analysis and visualization software (Python, C++)
GraphLab, scalable network analysis (Python, C++)
GNU Octave (similar to Matlab)
Wolfram Alpha (Web interface for simple integration and differentiation)
Machine Learning, Statistical Inference and Induction Notebook (by Cosma Shalizi)
Power Law distributions, etc. Notebook (by Cosma Shalizi)
Statistics Done Wrong, The woefully complete guide (by Alex Reinhart)
Some Advice on Process for [Research Projects]
Cytoscape, network visualization software
yEd Graph Editor, network visualization software
Graphviz, network visualization software
Gephi, network visualization software