COURSE INFORMATION

Course: CS580, Design and Analysis of Algorithms, 3 credits.

Course section: 20491.

Class time: Mon. & Wed. 3:00pm - 4:15pm.

Class room: LD 004.

Instructor: Xukai Zou (278-8576, xkzou@cs.iupui.edu).

Instructor's Office: SL 280F.

Office Hours: Mon., Wed. 11:00am - 12:00pm or by appt.

Teaching Assistant:  Yan Sui

TA Office Hours: TBA

Prerequisite: CS 463 or permission of instructor.

Grading: 5-6 homework assignments (30%), mid-term exam (30%) (Wed. March 10), final exam (comprehensive) (40%) (Friday May 7: 3:30--5:30pm).
Examinations must be taken at the times above; there is no make-up examination, except for a good reason on writing.

Course Description: Basic techniques for designing and analyzing algorithms: dynamic programming, divide and conquer, prune and search, balancing, upper and lower bounds on time and space costs, worst case and expected cost measures. Data structures such as Ballancing Search Tree, disjoint set union/find. A selection of applications such as graph algorithms, pattern matching. NP-Completeness. Approximate and Parallel Algorithms.

The topics to be covered:

  1. Brief introduction to algorithm analysis and design using sorting algorithms
  2. Recurrences and master theorem (Chapter 4)Lecture Slides
  3. Divide and Conquer--closest pair (Chapter 33.4)
  4. Sorting and Order Statistics (prune & search technique, lower bound:decision tree & adversary argument) (Chapter 8-9). Lecture Slides
  5. Dynamic Programming (Chapter 15). Lecture Slides
  6. Disjoint Sets (Chapter 21). Lecture Slides
  7. Balanced Search Trees (Red-Black, AVL tree, 2-3 tree). Lecture Slides
  8. NP-Completeness (Chapter 34). Lecture Slides
  9. Greedy Algorithms (Chapter 16). Lecture Slides
  10. String/Pattern Matching (Chapter 32).
  11. Graph Algorithms (Selected from Chapter 25-26).
  12. Parallel Algorithms (Selected from Chapter 30, the First Edition).
  13. Linear Programming (prune & Search technique) (Chapter 29).
  14. Approximation Algorithms (Chapter 35).

Oncourse Account: Be familiar with oncourse and the grades will be posted via oncourse. However, all the communication will be conducted via class email account cs58000. Please send an email to majordomo@cs.iupui.edu from your university or department account with both subject and body being subscribe cs58000.

Homework handin: Both hard copy and soft copy are required. Hard copy is handed in class and soft copy should be submitted via submitd before class.

Textbooks

Assignments and Exams: Assignments are due in hardcopy before the beginning of the class. No later assignments will be accepted except for a good reason, in addition, 10% discount for each late day. Exams are closed books and closed notes. All examinations must be taken at the given time; there are no make-up examinations, except for a properly documented reason.

Academic Integrity: All submitted work must be your own contribution and nobody else's! Collaboration in homework and exams are not allowed. Please See IU Code of Student Ethics and ACM's Code of Ethics and Professional Conduct for standards of ethical conduct.

Add and Drop class: please look at the IUPUI Academic Calendar for the deadline of adding and dropping class.

Note: This page can be accessed on the World Wide Web at http://www.cs.iupui.edu/~xkzou/teaching/CS580/CS580_course_outline.html

The class page can be accessed on the World Wide Web at http://www.cs.iupui.edu/~xkzou/teaching/CS580/