COT 5410. Complexity of Algorithms

Spring 2003

Instructor: Ashok Srinivasan
Office hours: TF 1:00 pm - 2:00 pm, or by appointment.
Location: 169, Love Building
Phone: 644-0559, Email: asriniva@cs.fsu.edu
Course web site: Access through blackboard http://campus.fsu.edu

Lecture hours:
MW 5:15 pm - 6:30 pm, LOV 103

Prerequisites:

COP 4530: Data Structures, Algorithms, and Generic Programming. This pre-requisite will not be waived.

Note: COP 4531: Complexity and Analysis of Data Structures and Algorithms is strongly recommended. You are also expected to have the mathematical maturity to write formal proofs and algorithms.

Text books:

  1. Required: Computers and Intractability: A Guide to the Theory of NP-Completeness, M.R. Garey and D.S. Johnson, W H Freeman & Co., 1979. This will be supplemented with handouts and journal articles.

  2. Recommended: It will be helpful to obtain a book on algorithms, such as (i) Introduction to algorithms, T.H. Cormen, C.E. Leiserson, R.L. Rivest, C. Stein, second edition, MIT press, 2001, or (ii) Data Structures and Algorithm Analysis in C++, M.A. Weiss, second edition, Addison-Wesley, 1998, in case you need to review algorithm analysis.

Course rationale:

This course is meant for graduate students who are already comfortable with algorithms. This course will involve more formal analyses than in undergraduate courses, and you will learn to write formal proofs and perform mathematically rigorous time complexity analyses.

Course description:

Formal methods for the analysis of algorithm complexity, application to specific algorithms, lower bounds, NP completeness, and other classifications of ``hard" problems.

Course objectives:

By the end of the semester, you should acquire the following skills: (i) analyzing time and space complexity of algorithms in a mathematically rigorous manner, (ii) proving problems NP complete, and (iii) using approximation algorithms for NP complete problems.

Grading criteria:

Attendance and class participation 5
Group project 15
Three Homework assignments 25
Midterm 20
Final Exam 35

Your grade will be based on the scores obtained in the above categories, with weights as given above. Additionally, you need to obtain a certain minimum average score on your exam grades (midterm + finals). Examples are given below, later.

Course average Minimum exams average (%) Letter grade
90 - 100 85 A
87 - 90 80 A-
80-87 70 B
70-80 60 C
60 - 70 50 D
0 - 60 0 F

Examples

  1. If you get 91% total and 93% on the exams, your grade will be A.
  2. If you get 83% total and 68% on the exams, you will not get a 'B'. Your grade will be 'B-'.
  3. If you get 81% total and 58% on the exams, you will get a 'C-'.

Attendance and class participation

You will be given a grade for class participation and attendance. In particular, I will ask questions during lectures, and you should perform well in these. I will also take into account positive contributions you make to the class, such as suggesting improvements to algorithms I present in class. Your attendance too will be considered. Attendance will be taken at the beginning of lectures. You will be marked absent if you are more than 5 minutes late. You may also lose points if you are regularly late by 0-5 minutes. You will also be marked absent if you leave before class ends! Missing three or fewer lectures will be considered good attendance.

Notes: (i) Your signature on the attendance sheet should match that on your FSU ID. (ii) You are responsible for making up for any materials missed due to absences, including announcements made in class. A missed exam can be made up only in extremely rare circumstances, and you should discuss it with me well ahead of time.

Course policies:

Honor code:

Plagiarism is "representing another's work or any part thereof, be it published or unpublished, as one's own. . . . For example, plagiarism includes failure to use quotation marks or other conventional markings around material quoted from any source" (Florida State University General Bulletin 1998-1999, p. 69). Failure to document material properly, that is, to indicate that the material came from another source, is also considered a form of plagiarism. Copying someone else's program, and turning it in as if it were your own work, is also considered plagiarism.

What I expect from the student:

Lecture plan:

Dates Topic Dates Topic
6 Jan - 8 Jan Analysis of algorithm complexity. 13 Jan - 15 Jan Applications to specific algorithms.
22 Jan Applications to specific algorithms. 27 Jan - 29 Jan Analysis of randomized algorithms.
3 Feb - 5 Feb (i) Analysis of randomized algorithms and (ii) lower bounds. 10 Feb - 12 Feb (i) Lower bounds and (ii) Midterm (12 Feb 2003).
17 Feb - 19 Feb NP completeness. 24 Feb - 26 Feb NP completeness.
3 Mar - 5 Mar NP completeness. 10 - 12 Mar No class -- Spring break.
17 Mar - 19 Mar NP completeness. 24 Mar - 26 Mar Approximation algorithms.
31 Mar - 2 Apr Approximation algorithms. 7 Apr - 9 Apr Approximation algorithms.
14 Apr - 16 Apr (i) Approximation algorithms and (ii) Other complexity classes. 21 Apr - 23 Apr Project presentations.
Wed, 30 Apr Final exam, 5:30 pm - 7:30 pm.

Last modified: 9 Dec 2002