**Lecture 1**: What is a graph?

**Lecture 2**: Digraphs and degrees

**Lecture 4 (notes)**: Shortest Paths (Juan Gutierrez)

**Lecture 4 (slides)**: Shortest Paths (Juan Gutierrez)

**Lecture 5**: Walks, components, connectedness

**Lecture 6**: Trees and Dijkstra's algorithm, part 1

**Lecture 7**: Dijkstra's algorithm, part 2; Bonds, part 1

**Lecture 8**: Cuts and connectivity

**Lecture 9**: Connectivity, part 2

**Lecture 10**: Connectivity, part 3

**Lecture 11**: Connectivity, final part (a)

**Lecture 12**: Connectivity, final part (b). Eulerian circuits

**Lecture 13**: Eulerian circuits, Hamiltonian cycles

**Lecture 14**: Vertex Colorings

**Lecture 15**: Edge Colorings

**Lecture 16**: Vizing's Theorem

**Lecture 17**: Edge coloring addendum, matchings

**Lecture 18**: Matchings in bipartite graphs

**Lecture 19**: Flows and cuts

**Lecture 20**: Min cut/Max flow 1

**Lecture 21**: Min cut/Max flow 2