Course info
Lectures
Homeworks
Contact
UW CS
Theory Group

Announcements
 01/02. Solutions for homeworks and the final are no longer
available on this page. Please feel free to email Shuchi if you would
like a copy.
 12/18. Final exam solutions are available here. (wisc.edu access only.)
 12/10. The final exam is
available now. It is due by midnight on Monday, Dec 17.
 12/10. Lecture notes are now available in a single PDF file
here.
 12/08. Solutions to HW3 are up now.
 11/19. The takehome final exam will be out on Dec 10th
(Monday) and due by midnight Dec 17th (Monday). You can email your
final to me or slip it under my office door.
 11/14. HW3 is up now. Note that you get slightly
longer than 3 weeks for this homework  it is due on Dec 7th.
 11/08. Solutions to HW2 are up now. See below.
 11/06. Chi Man will not be holding office hours
today. Instead, Shuchi is holding office hours from 3 to 4 pm today,
and Chi Man will hold additional office hours on Friday from 1 to 2
pm.
 10/31. Lecture 21 on Nov 5 will be a little longer than usual. We will end at 4 p.m. instead of 3:45 p.m.
 10/17. HW2 and the solutions to HW1 are up now. See below.
 10/09. There is no lecture on Oct 12. Instead you are encouraged to attend this talk by Kunal Talwar from Microsoft Research.
 10/02. A clarification for question 5 on homework 1 is posted here.
 09/19. There will be no lectures during the week of 9/2428.
 09/06. I sent out an announcement on the class mailing list this morning. If you did not receive this announcement but would like to be on the mailing list, please send me email.
 08/09. Welcome! Please check this space frequently for announcements. More information about the syllabus, instructor, course work, etc. can be found here.
Course Description
Algorithm design and analysis is a fundamental and important part of computer science. This course introduces students to advanced techniques for the design and analysis of algorithms, and explores a variety of applications. Read more ...
Scribe notes & readings
Disclaimer: Drafts are likely to be incomplete and contain errors, so please check back for a final version.
The books referenced below are Borodin & ElYaniv (B&EY), Kleinberg & Tardos (K&T), Kearns & Vazirani (K&V), Motwani & Raghavan (M&R), Mitzenmacher & Upfal (M&U), and Vazirani (Vaz.). All are available at the Wendt library.
Download all lectures notes in a single PDF file here.
 09/05 W [PDF] Intro, greedy
algorithms: scheduling, MST. (K&T
§4, §5)
 09/07 F [PDF] Set cover, Divide & Conquer, Dynamic programming. (K&T §5, §6, §11.3)
 09/10 M [PDF] Dynamic programming. (K&T §6)
 09/12 W [PDF] Network flow. (K&T §7)
 09/14 F [PDF] Network flow applications, matchings. (K&T §7)
 09/17 M [PDF] Randomized algorithms, Karger's mincut algorithm. (K&T §13)
Here are some lecture notes by Avrim Blum on how to speedup Karger's algorithm.
 09/19 W [PDF] Randomized load balancing and hashing. (K&T §13.10, §13.6, M&R §8.4, §8.5)
 09/21 F [PDF] Bloom filters, NPcompleteness. (M&R §8.4, §8.5, M&U §5.5)
See also, this survey on the applications of bloom filters by Broder & Mitzenmacher.
 10/01 M [PDF] NPcompleteness contd., Approximation algorithms. (K&T §8, Vaz. §1)
 10/03 W [PDF] Approximation via local search.
 10/08 M [PDF] Linear programming, LP rounding. (Vaz. §14)
 10/10 W [PDF] Randomized rounding, concentration bounds. (M&R §3.2, §4.1, §4.2)
 10/15 M [PDF] Randomized rounding (contd.), LP duality. (M&R §4.2, Vaz. §12)
 10/17 W [PDF] LP duality, Primaldual algorithms. (Vaz. §12, 15)
 10/19 F [PDF] Primaldual algorithms. (Vaz. §15)
 10/22 M [PDF] Semidefinite Programming. (Vaz. §26)
 10/24 W [PDF] SDP (contd.), Streaming algorithms.
 10/26 F [PDF] Streaming algorithms (contd.).
See this survey by Muthu Muthukrishnan for some motivation behind, and math used in, streaming algorithms.
 10/29 M [PDF] Online algorithms & competitive analysis. (B&EY §1)
Here is a nice presentation by Pat Riley & Elly Winner about different approaches to evaluating online algorithms.
 10/31 W [PDF] Caching/Paging, kserver problem. (B&EY §3, §4, §10)
 11/05 M [PDF] Caching lower bound based on Yao's principle, Work function algorithm. (B&EY §8.4, §10, §12)
For a complete analysis of the work function and other kserver algorithms, see these detailed lecture notes (lectures 59) by Yair Bartal.
 11/07 W [PDF] Work function (contd.), Online learning: regret minimization & the weighted majority algorithm.
 11/12 M [PDF] Mistake bound model, winnow & perceptron algorithms.
 11/14 W [PDF] MB model contd., PAC model. (K&V §1, §2)
 11/16 F [PDF] PAC model, Occam's razor. (K&V §1, §2)
 11/19 M [PDF] Boosting in the PAC framework. (K&V §4)
 11/26 M [PDF] Random Walks & Markov chains. Cover time, hitting time. (M&R §6)
 12/07 F [PDF] Random Walks & Markov chains: the resistance method, and mixing time. (M&R §6)
 12/10 M Markov chains wrapup and QA session.
No lecture notes are available for this last lecture, however, these notes contain all of what we covered, and extra.
Homeworks
 HW1 [PDF]
 HW2 [PDF]
 HW3 [PDF]
Misc material
A template for scribe notes can be found here.
Before scribing lectures, please read this
note on mathematical writing by Knuth, Larrabee and Roberts.
Scribing assignments are available here.
