
CS 231: Topics in Combinatorial Algorithms
Subhash Suri
MW 1:00-3:00
Room: Phelps 1401

Administrative Stuff
- TA for the course is Hakan Yildiz. (hakan@cs.ucsb.edu)
- TA Hours: Friday 10-12.
- TA Location: GSL (Computer Science Building).
- Professor's office hours: Wed 10-11 AM (HFH 2111).
Course Description
Algorithmic thinking is at the heart of computer science.
Whether we are concerned with sending messages in the Internet,
understanding the structure of a social network, designing autonomous
robots, measuring reliability of complex systems, or auctioning the wireless
spectrum, the underlying core problem is often an algorithmic one.
The problems, however, rarely come as cleanly packaged, mathematically
precise questions, and so the algorithmic enterprise necessarily
consists of first getting to the mathematical core of a problem, and then
identifying the appropriate algorithm design technique.
The goal of this course is to expose students to this process using a
variety of topics and techniques, both through lectures and self-directed
study of research papers. The general theme of the course is combinatorial
algorithms, which can be described loosely as those dealing with discrete
structures such as graphs and networks. The course is structured around a
loosely related set of techniques and topics that I consider both fundamental
and great examples of theoretical elegance.
The following is a tentative list of topics for the course. I will lecture
on about half of them, and the students will be asked to choose and present
research papers on the remaining.
Syllabus
- Internet connectivity and the Small World Phenomena
- Theory of Network Flows
- Probing and Monitoring of Networks
- Economics and Computer Science
- Search Complexity in Graphs and Geometry
- Shortest Paths and other Fundamental Problems in Graphs
- Misc Applications and Complexity
Paper Presentation Schedule
The schedule for paper presentation is now available.
Prerequisites
- Students are expected to have a basic knowledge of algorithms, complexity,
NP-completeness etc. They are also expected to be comfortable with basic
tools and concepts of discrete mathematics, including graph theory, probability,
and combinatorics. Those uneasy with mathematical analyses and complexity proofs
may find themselves disadvantaged.
- There is no single textbook for the course, and the material is compiled for
several books and research papers. For my own lectures, I will post plain
ascii lecture notes, though they are unpolished, without figures and fancy
formatting, meant only to help organize my own thoughts.
Workload and Grading
- Students are expected to spend a fair amount of time studying research papers,
in addition to the material covered in my lectures.
- Each student will be required to pick one of the research papers (from my list
of recommended papers) to study, and give a lecture to the class on that paper.
The lecture is expected to offer a clear and accessible explanation of the main
ideas and results of that paper.
- The final grade will be determined by three factors:
(1) A written midterm exam, covering the material from my lectures;
(2) the clarity and quality of your paper presentation in the class; and
(3) a final written exam, covering the material from the research
papers presented in the class.
Lecture Notes
The list of papers from which you must choose to present is available here Reading List.