Course description


Course policies

Lecture notes

Projects and Homeworks

Additional resources

Reading list


Course Information

  • Course id: 21190120
  • Course name: Algorithm design and analysis


Course description

  • This course provides elementary introduction to algorithm design and analyis. Topics include: mathematics foundation, divided-and-conquer, dynamic programming, greedy method, NP-completeness complexity, approximation algorithm, randomized algorithm, online algorithm, et al.
  • Students at the end of course should be able to do the following:
    1) Understand the concepts and skills of algorithm design
    2) Implimental some wellknown algorithms
    3) Analyze the performance of algorithms


  • Prerequisite: Data Structure, C/C++ Programming language
  • Textbooks: Introduction to algorithms, Second Edition. Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein. The MIT Press. ISBN: 0262032937. 2001.
  • References:
    1) Algorithm Design. Jon Kleinberg, Eva Tardos, Addison Wesley. ISBN: 0-321-29535-8 2005.
    2) Algorithms. S. Dasgupta, C.H. Papadimitriou, and U. V. Vazirani. May 2006.
    3) Combinatorial Algorithms. Jeff Erickson. University of Illinois, Urbana-Champaign. Lecture Notes. Fall 2002.

Course policies

  • Grading: Grades for the course will be based on the following weighting
    1) Homework: 10%
    2) Quiz: 15%
    3) Presentation: 15%
    3) Project: 20%
    4) Final exam: 40%
  • Project:
    1)Assignments are due in class as noted in the syllabus and web page. Project assignments turned in within the due dates, there is no extention of the deadline.

Go Home

Since Mar. 25, 2008.
College of Computer Science, Zhejiang University.