**Most recent message posted:
05/14**

- Class meets Mondays and Wednesdays from 10:00am-11:50am, in room ZHS 163.
- Instructor and Teaching Assistants:

Instructor Teaching Assistant Name David Kempe Ashish Vaswani Office SAL 232 SAL 211 (for now) Office Hours Tuesday, 10:30-12:00

or by appointmentMonday, 2:00-3:30

Thursday, 10:00-11:30

or by appointmentPhone (213)-740-6438 (213)-740-4508 e-mail - There will be one midterm, in class on Wednesday, March 12. The midterm will be open book, open notes. Make sure to bring a blue book.
- The final exam is currently scheduled for Monday, May 12, from 8:00am-10:00am. Since this is a horrible time to take an exam, I will try and see whether I can get it rescheduled. The final exam will be cumulative, i.e., cover the material of the entire semester. The final will be open book, open notes. There will be no make up date for the final.
- There will be several quizzes in class, which will be announced beforehand.
- Homework will be assigned and graded.
- The final grade will be calculated as 15% homeworks, 15% quizzes, 40% final exam,
30% midterm. Class participation, while strongly encouraged,
does not affect grades. The grading will
**not**be done to a curve: the grading scale is given below.

The grading scale is given here. These are not curves or class percentages, but your percentages. For instance, if the weighted average percentage of your grades is 54%, then you get at least a B. If the final exam turns out to be very difficult, this scale may become a little nicer. It will not become tougher.

p | Grade |

80% | A+ |

70% | A |

63% | A- |

57% | B+ |

51% | B |

46% | B- |

42% | C+ |

38% | C |

34% | C- |

30% | D |

Homework will be assigned roughly once per week, and graded.
Of all assignments, the **two worst ones** will be dropped in
calculating your grades. Homeworks are due in class on the date specified.
Each student can submit up to 3 homeworks up to one day late. Late
submissions should be made to the TA or instructor in office hours, no
later than noon on the day after the due date. Submissions more than 24
hours late will not be accepted. Once 3 homeworks have been submitted
late, subsequent late submissions will not be accepted.

The course is intended as a first undergraduate course in the design and analysis of algorithms. It will cover basic algorithm design techniques, runtime analysis, correctness proofs, and specific algorithms with an emphasis on graph algorithms. It will also cover the limits of computation: problems which cannot be solved efficiently, and problems which cannot be solved with a computer, never mind the amount of time allowed.

The textbook is

- Cormen/Leiserson/Rivest/Stein: Introduction to Algorithms (2nd edition)

- Jon Kleinberg/Éva Tardos: Algorithm Design.
- Sanjoy Dasgupta/Christos Papadimitriou/Umesh Vazirani: The Design and Analysis of Algorithms

The (rough) syllabus for the course is as follows. Topics may be added or removed depending on available time:

- Introduction: Insertion Sort [from Chapters 1,2]
- Runtime Analysis and Big-O Notation [Chapter 3]
- Graph Algorithms: Breadth-First Search, Depth-First Search, Topological Sort, Shortest Paths (Dijkstra), Minimum Spanning Trees (Kruskal, Prim) [from Chapters 22-24]
- Divide&Conquer and Recurrences: Merge Sort, Binary Search, Integer Multiplication, Strassen's Algorithm, Order Statistics [from Chapters 1, 4, 9, 28]
- Dynamic Programming [Chapter 15]
- Limits of Computation: Theory of Computability [not in CLRS]
- Limits of Efficient Computation: Theory of NP-Completeness [Chapter 34]
- Lower Bounds: Sorting [from Chapter 8]
- Time Permitting: Number-theoretic algorithms and RSA [Chapter 31]

All students are expected to maintain the utmost level of academic integrity. Any attempts to cheat will lead to appropriate sanctions. 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.

Homeworks should be solved mostly individually. Asking classmates for small hints is ok. For bigger hints, ask the TA or instructor. Substantial collaboration, in particular in writing up solutions or during programming assignment, is not appropriate. Nor is of course copying classmates' solutions. It is also never appropriate to search for solutions online and try to pass them off as your own work.

- 05/14/2008: The course grades are now posted on the Blackboard site. The overall grade distribution was as follows: 2*A+, 4*A, 4*A-, 4*B+, 2*B, 4*B-, 3*C+, 2*C, 2*C-, 2*D, 2*F. At this point, regrades are not possible, and grades will only be changed in severe error cases (such as associating grades with incorrect names).
- 05/12/2008: The grades for the final exam have been posted on the Blackboard site. The minimum score was 9/39, the maximum was 39/39, and the average about 22.4/39. The final exams can be viewed in David's office on Tuesday (05/13) from 10-12, or from 2-3. If you cannot make it yourself, you can designate (by e-mail to David) another student to view your exam for you. In exceptional cases, you can arrange a separate time on Wednesday morning. Grades will be finalized Wednesday shortly after noon.
- 05/09/2008: The questions and solutions from Ashish's review session have been posted on the Blackboard site (under "Course Documents").
- 05/06/2008: By popular request, Ashish's review session is now
scheduled for Thursday, 05/08/2008, from 10:00-11:20, in room
GFS 118. This is
**instead**of the Friday time. - 05/01/2008: The grades for the sixth quiz have been posted on the Blackboard site. The minimum score was 0.5/23, the maximum was 21.5/23, and the average about 9.8/23. The quizzes can be collected from David during office hours.
- 04/29/2008: In addition to the regular office hour times, David will be holding office hours on Wednesday, 05/07, from 10:00-12:00, and Thursday, 05/08, from 2:00-3:30.
- 04/29/2008: The Solutions to HW13 have been posted.
- 04/25/2008: The Solutions to HW12 have been posted.
- 04/22/2008: The grades for the fifth quiz have been posted on the Blackboard site. The minimum score was 0/30, the maximum was 29.5/30, and the average about 10.9/30.
- 04/19/2008: The thirteenth homework assignment has been posted. It is due in class on Monday, 04/28/2008.
- 04/17/2008: The Solutions to HW11 have been posted.
- 04/15/2008: The sixth quiz will be held in class on Wednesday, 04/30/2008. It will cover the material of homeworks 12 and 13. Same rules as for past quizzes.
- 04/14/2008: The twelfth homework assignment has been posted. It is due in class on 04/23/2008.
- 04/13/2008: The fifth quiz will be held in class on Monday, 04/21/2008. It will cover the material of homeworks 10 and 11. Same rules as for past quizzes.
- 04/11/2008: The Solutions to HW10 have been posted.
- 04/09/2008: The grades for the fourth quiz have been posted on the Blackboard site. The minimum score was 0/20, the maximum was 20/20, and the average about 8.2/20.
- 04/07/2008: The eleventh homework assignment has been posted. It is due in class on 04/16/2008.
- 04/06/2008: The Solutions to HW9 have been posted.
- 03/31/2008: The tenth homework assignment has been posted. It is due in class on 04/09/2008.
- 03/31/2008: The fourth quiz will be held in class on Monday, 04/07. It will cover homeworks 8 and 9. Same rules as for past quizzes.
- 03/25/2008: There is now a handout on recursion theory covering the material for the next few weeks in class.
- 03/24/2008: The midterm sample solutions have been posted.
- 03/24/2008: The ninth homework assignment has been posted. It is due in class on 04/02/2008.
- 03/12/2008: The grades for the midterm have been posted on the Blackboard site. The minimum (serious) score was 4.5/37, the maximum was 34/37, and the average about 18.1/37.
- 03/11/2008: The Solutions to HW8 have been posted.
- 03/07/2008: The Solutions to HW7 have been posted.
- 03/05/2008: The due date for HW8 has been changed to Monday, 03/10 by clear majority vote in class. This will allow us to post sample solutions on Tuesday, in time for the midterm.
- 03/03/2008: The grades for the third quiz have been posted on the Blackboard site. The minimum score was 1/20, the maximum was 20/20, and the average about 10.6/20.
- 03/03/2008: Homework 8 has been posted. It consists of the
following exercises and problems from the textbook:
9.3-5, 9.3-8, 9-2, 15.3-3, 15.3-5. It is due in class on
**Monday, March 10**. - 02/28/2008: The Solutions to HW6 have been posted.
- 02/25/2008: The third quiz will be held in class on Monday, 03/03. Same rules as for past quizzes.
- 02/24/2008: The seventh homework assignment has been posted. It is due in class on 03/05/2008.
- 02/22/2008: The Solutions to HW5 have been posted.
- 02/22/2008: The grades for the second quiz have been posted on the Blackboard site. The minimum score was 4.5/21, the maximum was 19.5/21, and the average about 14.2/21.
- 02/19/2008: The sixth homework assignment has been given. It
consists of the following exercises and problems from the
textbook, and is due in class on Wednesday, 02/27/2008.
Exercises 2.3-4 (also
**solve**the recurrence), 2.3-7 (a type of question you will likely be asked in job interviews), 4.2-2, 4.2-4. Problems 4-1, 4-2. - 02/15/2008: The Solutions to HW4 have been posted.
- 02/10/2008: The fifth homework assignment has been given. It consists
of the following exercises and problems from the textbook, and is due in
class on Wednesday, 02/20/2008. Exercises 23.1-6, 23.1-11, 23.2-8, 24.3-4,
Problem 23-3 (a) and (b). For the MST exercises, explicitly consider the case that
some of the edges might have the same weight. Your algorithm for exercise
23.1-11 should run in
**linear time**O(n+m). - 02/09/2008: The grades for the first quiz have been posted on the Blackboard site. The minimum score was 1.5/20, the maximum was 19/20, and the average about 10.8/20.
- 02/08/2008: The second quiz will be in class on Wednesday, 02/20.
- 02/08/2008: The Solutions to HW3 have been posted.
- 02/05/2008: I have posted class notes from the Spring 2006 version of this class.
- 02/05/2008: For those of you interested, I have posted the Handout on Fibonacci Heaps.
- 02/04/2008: The fourth homework has been assigned. It consists of four exercises from the textbook: Exercise 22.2-3, 22.2-6, 22.3-6, 22.4-2. It is due in class on Wednesday, 02/13.
- 01/31/2008: The Solutions to HW2 have been posted.
- 01/28/2008: The first quiz for the semester will be on Monday, 02/04, in class, from about 10:00-10:30. It will cover HW1 and HW2, and be closed book, closed notes.
- 01/28/2008: Ashish's office for the semester has now been determined. It will remain SAL 211. The office phone is now also posted.
- 01/27/2008: The third homework has been assigned. It consists of three problems from the textbook: Problem 3-2 (you only need to do O, Ω, and Θ), Problem 3-4 (parts a-g), and Exercise 3.1-3. This homework is due in class on Wednesday, 02/06.
- 01/26/2008: The Solutions to HW1 have been posted.
- 01/19/2008: The second homework assignment has been posted. It is due in class on 01/30/2008.
- 01/18/2008: There was a mistake in problem 2 of the first homework assignment. The link below now points to a corrected version. Part (a) of the problem is simply wrong, and you shouldn't try to solve it. Part (b) has a small mistake: instead of n!, it should be (n-1)!.
- 01/16/2008: Your TA Ashish Vaswani will be in town starting Tuesday, 01/22/2008. You won't find him in office hours before then.
- 01/16/2008: David will be out of town Tuesday, 01/22. For this week, the office hours will be moved to Friday, 01/18, from 1:30-2:50 instead.
- 01/15/2008: The first homework assignment has been posted. It is due in class on 01/23/2008. Also, there is now more detailed information on homework policies.
- 01/13/2008: In order to get to know the students in the class, David is requesting that everyone come by to introduce themselves for about 5 minutes on Tuesday, 01/15. A preliminary schedule has been posted. If the assigned time does not work, please e-mail the instructor with suggestions for alternate times. Expect to talk a bit about who you are (CS background, interests in CS, outside CS, anything else you feel like sharing).
- 01/03/2008: Check back here often for course-related announcements.