CS404/504: Design and Analysis of Algorithms
Fall 2007


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

Grader: Robert Martin (rm270002@ohiou.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, optimization problems, etc.
  • Understand the theory of NP-completeness.

  • Course materials:
    Assignments & Projects: