Lecture 1: Graphs; Walks, paths, and cycles;  Connectedness; Subgraphs and deletion; Contraction and minors

Lecture 2: Forests and trees; Spanning forests and trees; Embedded    
graphs; Embeddings; Representing embedded graphs in implementations;
Connectedness properties of embedded graphs

Lecture 3: Contraction and deletion and compression; Vector spaces

Lecture 4: Duality of cut-space vectors and cycle-space vectors

Lecture 5: Simple cuts and simple cycles; Interdigitating trees (Homework 1)

Lecture 6: Splay trees; Introduction to dynamic trees

Lecture 7: More on dynamic trees (Homework 2)

Lecture 8: Topology and cost operations in dynamic trees

Lecture 9: Cost search operations in dynamic trees (Homework 3)

Lecture 10: Shortest paths; The multiple-source shortest-path algorithm (DRAFT)

Lecture 11: Potentials, left-of/right-of, rightmost shortest-path tree; left-to-right arcs; the right-shortness invariant (DRAFT)

Lecture 12: Applying right-shortness to bound the number of iterations (DRAFT)

Homework 4

Lecture 13: Supporting approximate distance queries, first part

Lecture 14: Supporting approximate distance queries, second part

Lecture 15: Vertex separators in planar graphs

Lecture 16: Cycle separators

Lecture 17: Shortest paths with negative lengths using separators: an algorithm requiring O(n sqrt(n)) time and O(n log n) space

Lecture 18: Shortest paths with negative lengths using separators: an algorithm requiring O(n log^2 n) time and linear space

Lecture 19: Dynamic programming on a tree, carving-width, branch-width, and Baker's technique

Lecture 20: The branch-width of a planar graph

Homework 5