CS167: Readings in Algorithms

Instructor: Tim Roughgarden (Office hours: after class, or by appointment)

Teaching Assistant: Rishi Gupta (Office hours: Mondays 2:00-2:55 in 300-303)

Time/location: 3:00-4:20 PM on Mondays and Wednesdays in 300-303.

Course Description: Recent research in the design and analysis of algorithms. Readings cover both classical and emerging topics, such as: computational models for massive data sets; data privacy; dimensionality reduction; exact and approximate algorithms for NP-hard problems; graph algorithms; hashing; online learning; search trees; streaming and sketching. Students are expected to respond to research papers, deliver an oral presentation, and complete a reading or programming project. Limited enrollment; preference given to undergraduates.

Prerequisites: CS161 or equivalent.

Course requirements: A list of research papers, with brief synopses by the instructor, will be handed out at the beginning of the course. Students are required to pick a paper (or suggest their own) within the first two weeks of the class. Students will give oral presentations on their papers during the last 7 weeks of the course. Every student will also be required to give a practice presentation the week before to the course staff, and this will constitute 50% of the overall presentation grade. Students will be given written feedback to incorporate into their final presentation.

Second, every student will submit some kind of report related to the paper(s) he or she presented. The default option would be a written report (perhaps 8-10 pages) that fleshes out what was covered in the oral presentation. Optionally, a student could do original work, such as implementing an algorithm or data structure proposed in the assigned paper.

Links and resources:

Schedule and references

Part I: Course Introduction

Part II: Student Presentations

Part III: Fun in the Sun