Computer Science 163/265, Winter 2013:
General Course Information
Coursework will consist of weekly homeworks, a midterm, and a
comprehensive final exam. Group work on homeworks is permitted;
each student should turn in his or her own copy of the homeworks. The undergraduate (163) and graduate (265) courses will share lectures, and some homework problems; however, the graduate course will have additional homework problems and different exams.
The text we will be using is Graph
Algorithms, a collection of readings compiled from Wikipedia.
The course meets Monday, Wednesday, and Fridays, 11:00 - 11:50
in ICS 174.
Prof. Eppstein's office hours are Tuesdays 1:00 - 3:00 (or by
appointment) in Bren 4214.
The T.A. is Michael
Bannister; his office hours are Wednesdays 1:00 - 3:00 (Bren 4013)
and Thursdays 10:00 - 12:00 (Bren 3011). Homeworks will be
returned during T.A. office hours. We also have Mehdi Sadri as a reader.
The final grade will be formed by combining the numerical scores from
the homeworks (20%), midterm (35%), and final (45%).
Tentative Schedule of Topics
- Week 1. Web crawler case study. PageRank
algorithm. DFS, BFS, Tarjan's
algorithm for strongly connected
components. Representation of graphs.
Whiteboard images from January 7.
Whiteboard images from January 9.
images from January 11.
Homework 1, due Friday, January 18.
- Week 2. Software call graph visualization case study. DAGs,
closure, and transitive
graph drawing and the Coffman-Graham algorithm.
images from January 14.
images from January 16.
images from January 18.
Homework 2, due Friday, January 25
- Week 3.
Martin Luther King, Jr. Day (holiday), Monday, January 21.
and river network simulation via invasion percolation case
spanning trees, Prim-Dijkstra-Jarnik
voting case study and
images from January 23.
images from January 25.
Homework 3, due Friday, February 1
- Week 4.
Road map path planning case study.
distance based distance estimation,
landmark-based distance estimation.
images from January 28.
images from January 30.
images from February 1.
Homework 4, due Friday, February 8
- Week 5. Baseball
elimination case study. Maximum flow
problem, minimum cut
min-cut theorem, augmenting
path (Ford-Fulkerson) algorithm.
Midterm Friday, February 8
images from February 4.
images from February 6.
Homework 5, due Friday, February 15
- Week 6.
Transportation scheduling case study.
Travelling salesman problem.
exponential-time dynamic programming for the TSP,
approximation algorithms and the approximation ratio,
images from February 11.
images from February 13.
images from February 15.
Homework 6, due Friday, February 22
- Week 7.
Presidents' Day (holiday), Monday, February 18.
school residency assignment case study. Matchings, stable
algorithm for stable marriage.
graphs, formulating bipartite maximum matching as a flow problem,
using matchings to find vertex covers,
partition into a minimum number
images from February 20.
images from February 22.
Homework 7, due Friday, March 1
- Week 8. Social network analysis case study. Cliques, Moon-Moser
bound on maximal cliques, Bron-Kerbosch
properties: sparsity, small
laws. Barabási-Albert model,
based dynamic triangle counting algorithm.
images from February 25.
images from February 27.
images from March 1.
Homework 8, due Friday, March 8
- Week 9. Register allocation case study.
and perfect graphs.
breadth-first search to find an elimination ordering. Recognition of bipartite graphs.
images from March 4.
images from March 6.
Homework 9, due Friday, March 15
- Week 10. Planar
graphs; review of planarity-related topics from earlier weeks (graph
drawing, road maps, invasion percolation via minimum spanning trees of
grid graphs, graph coloring and the four-color theorem).
duality of Euler
tours and bipartiteness,
greedy 6-coloring, Boruvka in linear time.
Planarity testing, Fáry's theorem and
straight-line embedding algorithm.
Material from Previous Course Offerings