CS404/504: Design and Analysis of Algorithms
Fall 2009


Time and Location: Mon, Tue, Thu, Fri 1:10 &ndash 2:00pm, Stocker 106
Instructor: Razvan Bunescu
Office: Stocker 337
Office Hours: Tue 10am-12pm, Fri 10am-12pm, or by email appointment
Email: bunescu @ ohio edu

Grader: Jason Yerardi (jy261298 @ ohio edu)

Textbook: Introduction to Algorithms by T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein, 2nd ed, McGraw-Hill, 2001.

Prerequisites: CS361 (Data Structures) and some mathematical dexterity.

Course description:
This course provides an introduction to the modern study of computer algorithms. Through this course students should be able to:
  • Analyze algorithm performance using complexity measurement.
  • Master major algorithm design techniques such as divide and conquer, greedy and dynamic programming.
  • Apply above approaches to solve a variety of practical problems such as sorting and selection, graph problems, and other optimization problems.
  • Understand the theory of NP-completeness.

  • Course materials: Many of these slides are based on material kindly provided by Dr. Jundong Liu and Dr. David Juedes.

    Assignments & Projects:
    Resources: