Course info
Lectures
Homeworks
Contact
Piazza
UW CS
Theory Group
|
Announcements
- 03/01. I will not be holding office hours on March
6. Instead, I will hold office hours at the same time on the 4th,
and will be happy to meet by appointment.
- 02/13. Some changes have been made to problem 3 on HW1. You can find a new
version of the homework here. Also,
you can find a scanned version of problem 5.8 from
the book (which is problem 3 on HW1) here.
- 01/21. We will use Piazza for discussions related to this
course. Please follow this link to signup.
- 01/20. 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 ...
Lecture notes & readings
Lecture topics and readings will be posted here over
time. Please check frequently. We will use Probability and Computing
by Mitzenmacher and Upfal as our main text.
Lecture |
Topic |
Suggested readings/references |
|
1 (1/23) |
Introduction, basics of algorithm design: greedy algorithms |
Revise chapters 2, 3, 4, 5, 6, 8 from Kleinberg and Tardos |
2 (1/25) |
Dynamic programming |
Revise chapters 2, 3, 4, 5, 6, 8 from Kleinberg and Tardos |
3 (1/28) |
Random variables and events, quicksort |
§1, 2 |
4 (1/30) |
Quicksort contd., verifying polynomial identities and matrix multiplication |
§1, 2 |
5 (2/6) |
Basic concentration bounds: Markov and Chebyshev |
§3, Notes on Piazza |
6 (2/8) |
Counting via sampling, Counting DNF solutions, median of means approach |
Notes on Piazza |
7 (2/13) |
Balls and bins problems, Hashing |
§5.1, 5.2, 5.5.1 |
8 (2/15) |
Pairwise independence, universal and perfect hashing |
§13.1.1, 13.3 |
9 (2/18) |
Bloom filters, NP-hardness |
5.5.3, Chapter 8 from Kleinberg and Tardos |
10 (2/20) |
Approximation algorithms, linear programming |
Notes on Piazza |
11 (2/25) |
LP rounding |
Notes on Piazza |
12 (3/1) |
Randomized rounding, Chernoff bounds |
4.1, 4.2 |
13 (3/4) |
Applications of Chernoff bounds: randomized rounding, packet routing |
4.5 and notes on Piazza |
14 (3/8) |
Packet routing contd. |
4.5 |
15 (3/13) |
Online algorithms |
Notes on Piazza |
16 (3/15) |
Online algorithms contd. |
Notes on Piazza |
17 (3/18) |
Streaming algorithms |
Notes on Piazza |
18 (3/20) |
Streaming algorithms contd. |
Notes on Piazza |
19 (4/5) |
The probabilistic method |
6.1-6.4 |
20 (4/8) |
Lovasz Local Lemma |
6.7 |
21 (4/10) |
Martingales, optional stopping theorem |
12.1-12.3 |
22 (4/12) |
Concentration of measure for Martingales |
12.4, 12.5 |
23 (4/15) |
Applications of Azuma's inequality |
12.4, 12.5 |
24 (4/17) |
Random walks and cover time |
7.4, Notes on Piazza |
25 (4/19) |
Cover time, Monte Carlo method |
7.3, 10.4 |
26 (4/22) |
Rapid mixing, coupling |
11.1, 11.2 |
27 (4/24) |
Power of two choices |
|
Homeworks
- HW1 Out: 2/8, Due: 3/1
- HW1.5 Out: 3/1, Due: 3/15
- HW2 Out: 3/8,
Due: 4/5
- Take-home Final
Out: 5/6, Due: 5/13
|