**Most recent message posted:
05/11/2011**

- Class meets Tuesdays and Thursdays from 2:00-3:20pm, in room KAP 158.
- Instructor and Teaching Assistants:

Instructor Teaching Assistant Name David Kempe Kai Song Office SAL 232 SAL 235 Office Hours Wednesday, 10:30-12:00

or by appointmentMonday, 10:00-11:00

or by appointmentPhone (213)-740-6438 (213)-740-4776 e-mail - There will be a quiz on the prerequisites on Thursday, 01/13, in class.
- There will be one take-home midterm.
- The final exam will also be takehome. It will be cumulative.
- This is the advanced version of the graduate algorithms class. The advanced class is required of Ph.D. students in computer science. All other students can choose between CSCI 570 and CSCI 670. If you are trying to decide on one of the two, consider your background and interest in the subject. CSCI 670 will strictly assume solid undergraduate backgroung in algorithms and discrete math, whereas CSCI 570 spends more time on reviewing that material. The homeworks and exams in CSCI 670 are significantly more challenging.

The course is intended as a first graduate course in the design and analysis of algorithms. While the main focus is on known and well-established results in the literature, there will be many times when the course will touch on uncharted territory, or suggest directions for research. The course will give an overview of common techniques, and applications of these techniques in different settings. Look also at the more detailed syllabus.

The textbook is

- Jon Kleinberg/Éva Tardos: Algorithm Design.

- Cormen/Leiserson/Rivest/Stein: Introduction to Algorithms (2nd edition)
- Dasgupta/Papadimitriou/Vazirani: Algorithms
- Garey/Johnson: Computers and Intractability
- Motwani/Raghavan: Randomized Algorithms
- Vazirani: Approximation Algorithms
- Borodin/El-Yaniv: Online Algorithms

Students in the class are expected to have a reasonable degree of mathematical sophistication, and to be familiar with the basic notions of algorithms and data structures, discrete mathematics, and probability. Specifically, the following will be assumed:

- Mathematical Proofs, in particular induction and contradiction.
- Big-Oh notation (Big-O, Omega, Theta), how to apply them.
- Basic data structures: arrays, linked lists, trees, balanced trees, heaps (priority queues), graphs.
- Basic graph algorithms: connected components, BFS, DFS.
- Other algorithms: binary search, sorting.
- Discrete mathematics: evaluating sums and simple recurrences.

Information about Homework and Grading is on a separate page.

All students are expected to maintain the utmost level of academic integrity. Passing off anyone else's (whether it be a fellow student or someone outside the university) work as your own is a serious infraction, and will lead to appropriate sanctions. Similarly, any collaboration during exams is prohibited. Please consult the USC Student Conduct Code (general overview) for details on what is and is not appropriate, and for the possible consequences of infractions.

However, as research is usually a joint effort, students are encouraged to collaborate on general solution strategies for homework. The writeup, however, must be your own - you may not copy someone else's solution. Here is the rule of thumb to follow to avoid overstepping appropriate collaborations: if you discuss ideas or algorithms with your classmates, before you leave the meeting, you destroy all written notes, and write your own solutions from scratch afterwards. Also, your homework should list all the fellow students with whom you discussed the solutions. Collaboration is restricted to fellow students inside the class; collaboration with students outside the class or others (such as discussion groups on the WWW) are not appropriate, and will lead to appropriate sanctions.

On takehome exams, any collaboration with classmates is strictly prohibited. The only acceptable behaviors are solving the exam yourself (using your class notes and the textbook), or asking the TA and instructor for help.

- 05/11/2011: The course grades are now posted on the Blackboard Site. These will only be changed to fix clerical errors (such as name mixups), but are otherwise final. The overall grade distribution was 14 A, 1 A-, 4 B+, 2 B, 2 B-.
- 05/08/2011: The results of the final are now posted on the Blackboard Site.
- 05/02/2011: If you want to review the material on randomized rounding of LPs, check out this handout.
- 04/29/2011: There was a mistake in the originally posted (and handed-out) version of the final exam. Please use the newly posted version under the link below.
- 04/25/2011: The Final Exam has been posted. It is due by noon on Friday, 05/06.
- 04/21/2011: The sixth homework assignment has been posted. It is due in class by 04/28/2011. It cannot be submitted late, as I will hand out sample solutions in class.
- 04/05/2011: Kai Song's office hours on Monday, 04/11, are cancelled. Instead, he will hold office hours on Wednesday, 04/13, from 2:30-3:30.
- 04/04/2011: The fifth homework assignment has been posted. It is due by 04/12/2011.
- 04/01/2011: In preparation for the next few lectures, you may want to view he handout on handout on online algorithms.
- 04/01/2011: The results of the midterm are now posted on the Blackboard Site. The minimum score (out of 45 possible) was 15, the maximum was 42, and the average around 29.9.
- 03/24/2011: The fourth homework assignment has been posted. It is due by 03/31/2011.
- 03/10/2011: The Midterm has been posted. It is due in class by Thursday, 03/24.
- 02/16/2011: The third homework assignment has been posted. It is due by 03/01/2011.
- 02/13/2011: The results of the first homework are now posted on the Blackboard Site. The minimum score (out of 45 possible) was 19, the maximum was 44, and the average around 33.7.
- 02/10/2011: To see the analysis of the faster implementations of the Ford/Fulkerson algorithm, read the handout on the Edmonds-Karp algorithm.
- 02/10/2011: To see how Fibonacci heaps work (and are analyzed), read the handout on Fibonacci heaps.
- 02/03/2011: The second homework assignment has been posted. It is due by 02/10/2011.
- 01/24/2011: As announced in class, David is traveling this week. Hence, your TA Kai Song will teach the Tuesday lecture, and Prof. Ming-Deh Huang on Thursday. Also, David's office hours for this week are canceled.
- 01/22/2011: The first homework assignment has been posted. It is due by 02/01/2011.
- 01/20/2011: We now have a TA, and his information has been posted.
- 01/04/2011: There will be a quiz on the prerequisite material on Thursday, January 13.
- 01/04/2011: There is a Blackboard Site for this class. This is where your grades will be posted. Also, it is a good place to ask general questions about homeworks or course material. Please log in and post something (such as "Hello World!") to let us know you've figured out how to use the discussion boards.
- 01/04/2011: This is the place where you will find all of your important updates about class. Check back frequently.