CS167: Readings in Algorithms

Instructor: Tim Roughgarden (Office hours: Wednesdays 3-4pm in Gates 462)

Teaching Assistant: Rishi Gupta (Office hours: after class on Mondays, till 6:45pm)

Time/location: 4:15-5:30 PM on Mondays and Wednesdays at Green Earth Sciences 150.

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 structure: The instructor will lecture for the first 2-3 weeks on topics of broad interest. Lecture topics will range from current trends in algorithms research to how to give effective oral presentations. The next 1-2 weeks will be spent on group discussions of research papers, to give students some practice critically reading such papers. The last 6 weeks of the course will be oral presentations by the students, with 2 students presenting per lecture (either as a team or separately).

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 6 weeks of the course.

Every student will be required to give a practice presentation the week before to the TA, and this will constitute 50% of the overall presentation grade. The instructor will also attend as many of these as is feasible. Students will be given written feedback to incorporate into their final presentation. In addition to ensuring high quality of the final presentations, these practice talks give students the opportunity to evaluate and improve their oral communication skills.

Students will have two other deliverables. First, for every meeting during the last 7-8 weeks, students must turn in a short (.5-1 page) response to the assigned readings. The week before, the instructor will distribute tips specific to the assigned papers: which sections to focus on, resources for background reading, possible points of discussion, etc.

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 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:

Detailed schedule and references

Part I: Course Introduction

Part II: Student Presentations

Part III: Fun in the Sun