Reading Assignments

The course will rely on various readings which will be posted here. This page will also have resources and background reading which may be useful at various times. Copyrighted works may require UWNETID.
The course does not have a fixed text, I will be posting readings for the various subjects, and I encourage you to look for other resources as well. The course is based on the previous versions of the course taught by Karlin and Lee. We will start with randomized algorithms, and then progress to hashing techniques and algorithms for streamed data. The course material will be beyond an undergraduate course, but material will be covered from the ground up. My assumption is that the typical student in the class has had five years to forget their undergraduate algorithms course.

For background references on algorithms, I recommend the Tardos Klienberg text (algorithm design). For the first few weeks, I am drawing on the text Randomized Algorithms by Motwani and Raghavan.

For course topics, I will start with some material on randomized algorithms and average case. On source of relevant material are some online lectures by Tim Roughgarden from a course he taught at Stanford. These are all on youtube – there is a playlist by Rahul Madhavan with 170 videos. I recommend: 7.1, 7.2 (Probability), 5.1-5.4 (Quicksort), 8.1-8.2 (Randomized Selection), 9.1-9.5 (Minimum Cuts), Future material, 14 (Hash Tables), 15 (Universal Hashing), 16 (Bloom Filters)

Readings